$ .ajax调用失败,dataType为json

时间:2015-03-27 08:13:19

标签: javascript jquery ajax json

我想向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"]}
           ]
}

2 个答案:

答案 0 :(得分:1)

那是因为数据类型不是JSON,而是application/json。尝试

    dataType: "application/json"

但如果这不起作用,你可以随时使用textType的数据类型,然后使用JSON.parse,因为无论如何都是JSON。

答案 1 :(得分:1)

您提供的JSON是有效的,所以我认为错误在其他地方 您可以使用multiple values空格分隔为dataType设置,如下所示:

dataType: "text json",

因此,jquery会将结果作为文本获取,然后将其解释为JSON。

在评论中你说有一些中文字符,试着用Unicode编码。