$ .ajax get请求方法在IE9中抛出“访问被拒绝”错误消息

时间:2014-02-11 13:22:53

标签: javascript jquery ajax

我正在使用此跟随ajax请求,该功能在Chrome,Firefox和IE10 +中运行良好,但在IE9及更低版本中无效。

这是代码:

function grab(url) {
        var result;
         $.ajax({
        url: url,
        type: 'GET',
        timeout: 1000, // feel free to mod this 
        dataType: "JSON",
        async: false,
        processData : false,
        crossDomain: true,
        success: function (data) {
           console.log("success");
            result = data;
        },
        error: function (x, t, m) {
            console.log("failure");
            if (t === 'timeout') {
            result = { status: 500, message:"Timeout error"};
            } else {
            result = x.responseText;
            }
        }
        });
        return result;

    }

1 个答案:

答案 0 :(得分:4)

看起来你正在尝试使用CORS,在版本10之前IE不完全支持它:

http://caniuse.com/cors

如果您需要支持IE8-9,则需要使用XDomainRequest对象:http://msdn.microsoft.com/en-us/library/cc288060%28v=vs.85%29.aspx

这个库可能会为您排除浏览器的变幻莫测:https://github.com/dkastner/jquery.iecors