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":"[email protected]","phone":"09087642767","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);
});
CodePudding user response:
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.
CodePudding user 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);
});