我想向JSON文件发送ajax调用以检索数据。但是ajax调用失败了dataType: "json"
。当我将dataType更改为"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"]}
]
}
答案 0 :(得分:1)
那是因为数据类型不是JSON,而是application/json
。尝试
dataType: "application/json"
但如果这不起作用,你可以随时使用textType的数据类型,然后使用JSON.parse
,因为无论如何都是JSON。
答案 1 :(得分:1)
您提供的JSON是有效的,所以我认为错误在其他地方
您可以使用multiple values空格分隔为dataType
设置,如下所示:
dataType: "text json",
因此,jquery会将结果作为文本获取,然后将其解释为JSON。
在评论中你说有一些中文字符,试着用Unicode编码。