繁体   English   中英

jQuery AJAX试图甚至使用“ dataType”:“ JSON”来解析XML

[英]JQuery AJAX trying to parse XML even with “dataType” : “JSON”

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

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

有任何想法吗?

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

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

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

但是事实证明,和往常一样,我不在这里。

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

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

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

最高

真正的问题是您的服务器未设置“ Content-type”标头。 将其设置为“ application / json”。

例如在node.js中:

res.setHeader('Content-type', 'application/json');

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM