Javascript jqueryajax试图解析XML,甚至使用;数据类型";:&引用;JSON";
正如标题所示,我有以下几点:Javascript jqueryajax试图解析XML,甚至使用;数据类型";:&引用;JSON";,javascript,jquery,ajax,Javascript,Jquery,Ajax,正如标题所示,我有以下几点: $.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));
$.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
看看firebug,我发现请求是
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,则是服务器的问题,而不是脚本的问题。首先将“JSON”更改为小写的“JSON”。但这是jQuery期望从服务器返回的类型,不一定是服务器将发送的内容
您确定服务器正在返回JSON吗?值得再检查一次。你看过《小提琴手》中的反应了吗?如果是XML,那是服务器的问题,而不是脚本的问题。好的,非常感谢所有试图回答这个问题的人 但事实证明,和往常一样,我在这里没人 firebug中显示的XML解析错误实际上并不是代码中的错误,firebug猜测它是XML并解析它的尝试失败了 我的问题在程序中的其他地方得到了解决 大写和小写的“JSON”没有区别
Max好的,非常感谢所有试图回答这个问题的人 但事实证明,和往常一样,我在这里没人 firebug中显示的XML解析错误实际上并不是代码中的错误,firebug猜测它是XML并解析它的尝试失败了 我的问题在程序中的其他地方得到了解决 大写和小写的“JSON”没有区别
Max真正的问题是服务器没有设置“内容类型”标题。将其设置为“application/json” 例如,在node.js中:
res.setHeader('Content-type', 'application/json');
真正的问题是服务器没有设置“Content type”头。将其设置为“application/json” 例如,在node.js中:
res.setHeader('Content-type', 'application/json');
可能不是原因,但“json”不应该是小写的吗?抛出错误的确切原因是什么?有趣的是,让我试试小写可能不是原因,但“json”不应该是小写吗?到底是什么造成了这样的错误?有趣的是,让我试着用小写,嗯,奇怪。也许是JSON>JSON的问题。如果未设置dataType选项或无法识别,jQuery将尝试猜测响应类型。如果对XML的猜测不正确,可能会解释这个问题。另一个可能是JSON响应本身的格式不正确。嗯,奇怪。也许是JSON>JSON的问题。如果未设置dataType选项或无法识别,jQuery将尝试猜测响应类型。如果对XML的猜测不正确,可能会解释这个问题。另一个可能是JSON响应本身的格式不正确。我有一个类似的问题,我的ajax调用没有指定响应的数据类型。在调用中设置数据类型:“text”使firefox开发工具中的明显错误消失。我有一个类似的问题,我的ajax调用没有指定响应的数据类型。在调用中设置数据类型:“text”使firefox开发工具中的明显错误消失。