JQuery AJAX试图解析XML,即使使用“dataType”:“JSON”
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?值得仔细检查。你看过《提琴手》中的回应吗?如果是 XML,则这是服务器的问题,而不是脚本的问题。
好的,
非常感谢大家试图回答这个问题。
但事实证明,像往常一样,我在这里哄骗了。
Firebug 中显示的 XML 解析错误实际上并不是代码错误,Firebug 尝试猜测它是 XML 并解析它失败。
我的问题在程序的其他地方,它得到了解决。
大写与小写"JSON"没有区别。
麦克斯
真正的问题是您的服务器没有设置"内容类型"标头。 将其设置为"应用程序/json"。
例如在节点.js中:
res.setHeader('Content-type', 'application/json');
相关文章:
- jQuery匹配JSON对象的部分文本
- 在循环中分配json值时,值被覆盖
- 需要帮助设置json数组
- 如何在Javascript中将JSon对象转换为数组
- 我可以在json对象中添加一个函数吗
- 使用JS将数组转换为json对象
- Javascript-如何读取json文件中的列并将其保存在Javascript数组中
- 使用JQuery解析JSON嵌套数组
- 在使用Polymer'加载所有json文件后执行方法;s的核心ajax
- 如何使用json将对象列表从java转换为javascript
- 如何使用 node.js 比较两个 json 数组
- 如何将JSON数据导入我的ejs模板
- $.ajax调用失败,dataType为json
- 将带有dataType:json的jQuery.ajax转换为纯javascript
- 我如何在jQuery.Ajax中处理时间响应(DataType:JSON)
- JQuery AJAX试图解析XML,即使使用“dataType”:“JSON”
- 使用 Ajax 调用 Deezer API (jquery) - dataType JSON 返回空 - JSONP 返
- 通过JS、DataType Json调用Web服务
- 将JSON转换为数组dataType
- 无法在Ajax中获得Java响应,数据类型:"json "但是dataType: "tex