我想获得在php文件中回显的Json数组。问题是当我在客户端执行$ .getJSON时出现错误:
SyntaxError: JSON.parse: unexpected character, return window.JSON.parse( data + "" );
代码: PHP:
echo json_encode($responseVar);
Json数组在源代码中可见:{“resp”:0}
JS:
$.getJSON('../views/application.php', function(data) {
alert('alert1');
if(data) {
document.write(data.resp);
alert('alert2');
}
else {
alert('error');
}
})
.fail(function(j,t,e) {
console.error(e);
});
我没有得到任何警报,我只是得到了所描述的错误。
答案 0 :(得分:0)
尝试将其放入函数中:
function getJsonArray()
{
var URL="/URL";
$.ajax(
{
type : "GET",
url : processURL,
cache : false,
dataType : "json",
success : function (Put the array name here)
{Do Something with the array }};
答案 1 :(得分:0)
多种原因:
BOM编码:在文本编辑器中关闭BOM(不带BOM的UTF-8编码)。 BOM是UTF8文件开头的系统(不可见)符号。
jQuery 1.4以后严格解析JSON数据。任何格式错误的JSON都会被拒绝,并抛出一个解析错误。正确设置标题:
header('Cache-Control:no-cache,must-revalidate');
header('Expires:Mon,26 Jul 1997 05:00:00 GMT');
header('Content-type:application / json');
来自服务器的错误状态代码。