正如标题所示,我有以下内容:
$.ajax({
"url" : ...
, "type" : "GET"
, "dataType" : "JSON"
, "success" : function(response_data) {
that.data = response_data;
success(response_data);
}
, "onerror" : function(data) {
console.log(JSON.stringify(data));
}
});
但是当我运行它时,我得到了
XML Parsing Error: syntax error Location: moz-nullprincipal
看着萤火虫,我看到请求是
Accept application/json, text/javascript, */*; q=0.01
Accept-Encoding gzip, deflate
Accept-Language en-us,en;q=0.5
Cache-Control max-age=0
Connection keep-alive
Host localhost:8888
Referer http://localhost:8888/
User-Agent Mozilla/5.0 (Macintosh; Intel Mac OS X 10.7; rv:13.0) Gecko/20100101 Firefox/13.0.1
X-Requested-With XMLHttpRequest
有什么想法吗?
答案 0 :(得分:3)
首先将“JSON”更改为小写“json”。但这是jQuery期望从服务器返回的类型,它不一定是服务器将发送的内容。
您确定服务器是否正在返回JSON?值得仔细检查。你看过Fiddler的回应吗?如果它是XML,那就是服务器的问题,而不是脚本的问题。
答案 1 :(得分:2)
非常感谢大家试图回答这个问题。
但事实证明,像往常一样,我在这里没有人。
firebug中显示的XML解析错误实际上并不是代码的错误,并且firebug尝试猜测它的XML并解析它。
我的问题在程序的其他地方已经解决了。
大写与小写" JSON"并没有什么区别。
最高
答案 2 :(得分:1)
真正的问题是您的服务器没有设置'内容类型'头。将其设置为' application / json'。
例如在node.js中:
res.setHeader('Content-type', 'application/json');