[英]fetch() json from php
我有一个我有一个简单的获取请求。 我不是promises和asynch代码的专家,但据我所知,fetch url发送请求打开/获取/发布url并返回传递该内容的promise(响应)。 然后提取内容然后我可以在文本中解析它(response.text())解析后的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);
})
}
所以,如果我拿取一个php url,它会返回一个json,当我在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是saparated文件
您需要在服务器端将标头设置为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);
希望能帮助到你 !
在您的while块上,您没有使用concatination,因此$ arrayJSON包含您在查询中选择的最后一行的num。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.