Javascript $.ajax调用失败,数据类型为json
我想向JSON文件发送一个ajax调用来检索数据。但是ajax调用失败,数据类型为:“json”。当我将数据类型更改为Javascript $.ajax调用失败,数据类型为json,javascript,jquery,ajax,json,Javascript,Jquery,Ajax,Json,我想向JSON文件发送一个ajax调用来检索数据。但是ajax调用失败,数据类型为:“json”。当我将数据类型更改为“text”时,ajax调用成功 代码如下: $.ajax({ type: "POST", url: url, dataType: "json", success: function(response) { console.log("success"); }, error: function() {
“text”
时,ajax调用成功
代码如下:
$.ajax({
type: "POST",
url: url,
dataType: "json",
success: function(response) {
console.log("success");
},
error: function() {
alert("failed");
}
});
JSON文件是:
{
"mobile": [{"中国": ["1", "2", "3", "4", "5", "6"]},
{"美国": ["3", "5", "10", "20", "30", "50"]}
],
"uni": [{"德国": ["5", "10", "20", "30", "50"]},
{"英国": ["30", "50", "00", "20", "50"]}
],
"telcom": [{"法国": ["10", "20", "30", "50", "00", "500"]}
]
}
这是因为数据类型不是JSON,而是
application/JSON
。试一试
dataType: "application/json"
但如果这不起作用,您可以始终使用文本的数据类型,然后使用
JSON.parse
对其进行解析,因为这就是JSON的全部内容。您提供的JSON是有效的,因此我认为错误在其他地方。您可以使用分隔为
数据类型的空格设置,如下所示:
dataType: "text json",
因此jquery将以文本形式获得结果,然后将其解释为JSON
在评论中,您说有一些汉字,请尝试用Unicode编码。浏览器控制台中是否有任何错误…尝试将错误处理为error:function(jqXhr,status,error){alert(status+':'+error+':'+jqXhr.responseText)}
确保返回的是json响应(text/json)从您的服务器。您的数据是json,但响应类型也必须是json。@Arun P Johny Hi,它显示parsererror:SyntaxError:Unexpected token。我想问题是这个json文件中有一些汉字,我只是在这个问题中粘贴了json文件的一部分,我发现问题是这个json文件中的汉字造成的。当json文件包含中文字符时,如何进行ajax调用?