我一直试图将一个简单的数组从PHP传递到JQuery。以下是HTML/JS中的相关函数:
function myQuery() {
var xmlhttp = new XMLHttpRequest();
var url = "sandbox.php";
xmlhttp.onreadystatechange=function() {
if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
myFunc(xmlhttp.responseText);
}
}
xmlhttp.open("GET", url, true);
xmlhttp.send();
}
function myFunc(response) {
var arr = JSON.parse(response);
document.getElementById("demco").innerHTML = arr[0];
}对于PHP,我尝试过:
<?php
$arr = [4,7,2];
echo json_encode($arr);
?>以及:
<?php
$arr = array(4,7,2);
echo json_encode($arr);
?>根据我的调试器,它每次都在JSON.parse(响应)上失败。这里的代码有什么问题?我尝试通过http://json.parser.online.fr/运行数组4,7,2,没有问题。我快疯了,帮帮我吧!
编辑:
在第X行的控制台:解析PHP中的错误,其中X是包含:$arr =4,7,2的行;未解析的异常: SyntaxError: JSON.parse:无法解析值:
在myFunc(响应)中http://..中的第2列Y行引发的错误。var arr =JSON.parse(响应);在http://localhost/sandbox.html:myFunc(xmlhttp.responseText)中从Z行调用,列4 in ();
发布于 2015-10-03 00:37:55
我在PHP文件的顶部有一个doctype标记,这个标记是用JSON传递的,并且正在搞砸解析。
发布于 2015-10-01 15:26:24
请将输出页头设置为application/json,以清楚地完成此操作。它只需要在JSON代码中输出。
<?php
header('Content-Type:application/json');
$arr = array(4,7,2);
echo json_encode($arr);这将使纯JSON输出,它将很容易被Javascript读取
https://stackoverflow.com/questions/32854736
复制相似问题