我正在使用以下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;

    }

最佳答案

看来您正在尝试使用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

关于javascript - $ .ajax get请求方法在IE9中引发“访问被拒绝”错误消息,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21703087/

10-11 22:14
查看更多