我有一个简单的获取请求。我不是 promise 和异步代码方面的专家,但据我了解, fetch url 发送打开/获取/发布 url 的请求,并返回交付该内容的 promise (响应)。当获取该内容时,我可以在文本中解析它(response.text()),解析后的文本/json,无论如何,然后作为数据传递给另一个函数并在此处进行处理
** JS 代码 **
fetch(url).then(function(response) {
console.log(typeof(response));
return response.text();
}).then(function(data) {
console.log('data ', data);
}).catch(function(err) {
console.log ('ERRORE ', err);
})
}
所以,如果我获取一个返回 json 的 php url,当我 console.log 中的数据时,我应该看到 php 和其中的 json 回显的 html 代码,而不是我看到的只是一串数字像 1137168 (我输入它,它是一个字符串......)
** PHP 代码 **
$selectNum = "SELECT num FROM table";
$quer = mysqli_query($conn, $selectNum);
while($row = mysqli_fetch_array($quer, MYSQLI_ASSOC)){
$arrayJSON = $row;
}
header('Content-Type: application/json');
echo json_encode($arrayJSON, JSON_PRETTY_PRINT);
mysqli_close($conn);
php和js是分开的文件
最佳答案
您需要在服务器端将 header 设置为 json,并使用 json_encode 到您想要根据请求返回的数组,如下所示:
<?PHP
$data = /* your array */;
header('Content-Type: application/json');
echo json_encode($data);
?>
并像这样在客户端使用 jquery 解析它
var data = /*data retuned from your request*/;
$.parseJSON($data);
希望对你有帮助!
关于javascript - 从 php 中获取 () json,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37184641/