i am fetching an array from a PHP file and when I log the array on my console it displays as this: [{"name":"zdfad","email":"XXX","phone":"XXX","id":"0","level":"1"}]
as a string and not the as an array.
how can I fix this? this is the code:
fetch("./php/getuser.php", { method: "GET" })
.then((res) => res.text())
.then((data) => {
console.log(data);
});
You can use use the JavaScript JSON.parse function to turn the string into a literal data type:
JSON.parse("{ key: 'value' }");
Or, you can choose to use Response.json instead of text() so that you retrieve an object response.
Right now you are using text()
which is asking fetch to read the response and resolve it as a string.
See: https://developer.mozilla.org/en-US/docs/Web/API/Response/text
What you want is to replace .text()
with .json()
See: https://developer.mozilla.org/en-US/docs/Web/API/Response/json
This should work:
fetch("./php/getuser.php", { method: "GET" })
.then((res) => res.json())
.then((data) => {
console.log(data);
});