0

正如标题所示,我有以下内容:

$.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

有任何想法吗?

4

3 回答 3

3

首先将“JSON”更改为小写“json”。但这是 jQuery 期望从服务器返回的类型,它不一定是服务器将发送的。

确定服务器正在返回 JSON 吗?值得仔细检查。您看过 Fiddler 中的响应吗?如果是 XML,那是服务器的问题,而不是脚本的问题。

于 2012-07-03T22:20:36.720 回答
2

好的,非常感谢大家试图回答这个问题。

但事实证明,像往常一样,我没有在这里。

firebug 中显示的 XML 解析错误实际上并不是代码错误,firebug 尝试猜测它是 XML 并对其进行解析失败。

我的问题在程序的其他地方,它已经解决了。

大写与小写“JSON”没有区别。

最大限度

于 2012-07-03T22:57:41.690 回答
1

真正的问题是您的服务器没有设置“内容类型”标头。将其设置为“应用程序/json”。

例如在 node.js 中:

res.setHeader('Content-type', 'application/json');
于 2016-11-30T19:16:58.433 回答