jQuery,ajax请求在IE上使用JSON没有成功

Syl*_*Syl 4 ajax jquery internet-explorer json

我做了一个AJAX调用,它适用于FF和Chrome,但不适用于IE 7-8-9.我正在从我的域中加载JSON文件:

    $.ajax({
        url: 'js/jquery.desobbcode.json',
        dataType: 'json',
        cache: false,
        success: function(json) {
            alert('ok');
        },
        error: function(xhr, errorString, exception) {
            alert("xhr.status="+xhr.status+" error="+errorString+" exception="+exception);
        }
    });
Run Code Online (Sandbox Code Playgroud)

我也尝试添加,contentType: 'application/json'但我收到相同的输出,这是:

xhr.status=200
error=parsererror
exception=SyntaxError Unterminated string constant
Run Code Online (Sandbox Code Playgroud)

我用JSONLint检查了我的JSON文件,没关系.我检查是否有额外的逗号,内容也被修剪.请参阅我的JSON文件

如果我放dataType: 'text',我收到OK警报,但也有一个调试弹出窗口.

你可以帮帮我吗?问候.

Ter*_*rry 5

众所周知,IE存在隐含内容类型的问题.

... Internet Explorer 7中新的XmlHttpRequest类没有直观地实现setRequestHeader.它不是设置指定的标题,而是附加值.

尝试指定contentType并检查从服务器返回的内容:

$.ajax({
    url: 'js/jquery.desobbcode.json',
    dataType: 'json',
    contentType: "application/json; charset=utf-8",
    ...
});
Run Code Online (Sandbox Code Playgroud)

您可能还想尝试发送空白数据:

$.ajax({
    url: 'js/jquery.desobbcode.json',
    dataType: 'json',
    contentType: "application/json; charset=utf-8",
    data: {}
    ...
});
Run Code Online (Sandbox Code Playgroud)