我正在向服务器上的 php 脚本发送 AJAX post 请求,服务器返回 JSON 格式的数据。当我尝试提醒结果时,出现以下错误:Uncaught SyntaxError: uncaught SyntaxError: uncaught token {
两次。
这是我的 AJAX 调用:
var articles = $.post("process/get_articles.php");
articles.done(function(data){
var result = $.parseJSON(data);
alert(result);
});
我的服务器端代码:
while($query->fetch()){
$result = array("ID"=>$Art_number, "Article"=>$Article, "Image"=>$Image_link);
$result = json_encode($result);
echo $result;
}
返回以下内容:
{"ID":1,"Article":"Article 1","Image":"http:\/\/wwww.mydomain.com\/images\/img.jpg"}{"ID":2,"Article":"Article2","Image":""}{"ID":3,"Article":"Article 3","Image":""}
为什么返回的数据没有正确提醒?非常感谢任何帮助!
最佳答案
您在一个循环中回显 JSON 字符串,最终得到一个由较短的 JSON 字符串组成的长无效字符串。
您必须对其进行编码并回显一次
$result = array();
while($query->fetch()){
$result[] = array("ID"=>$Art_number, "Article"=>$Article, "Image"=>$Image_link);
}
echo json_encode($result);
关于javascript - 意外的标记 {,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29590353/