IOS设备上的XMLHttpRequest异常101

时间:2013-04-05 14:34:26

标签: c# jquery asp.net ios ajax

我最近开始在IOS设备上的jquery ajax调用上收到以下消息:

错误:NETWORK_ERR: XMLHttpRequest异常101

ajax呼叫在所有设备上运行了好几个月,但我的一个客户上周开始收到此消息。

我已经阅读了一些有关它是跨域请求的问题,但在这种情况下不应该适用。

我还读过,将async更改为true将解决问题,但如果可以,我想避免这样做。

这是ajax调用:

serverSideFunction参数的格式为“AdvancedDistribution.aspx / SaveClicked” 其中AdvancedDistribution.aspx当然是aspx文件,而SaveClicked是静态WebMethod(C#)。

para只是一个带参数值的二维数组。

function ajaxCall(serverSideFunction, para)
{
    ajaxReturn = "";  
    var dataPara = "{";
    for (var i = 0; i < para.length; i++)
    {
    dataPara += "'" + para[i][0] + "':'" + para[i][1] + "'";
        if (i < para.length - 1)
        dataPara += ",";
    }
    dataPara += "}";

    $.ajax({
    type: "POST",
    url: serverSideFunction,
    data: dataPara,
    async: false,
    //&&JS01112013.2 Fix bug caused by IOS6 ajax caching
    headers: {"cache-control": "no-cache"},
    beforeSend: function (xhr)
    {
        xhr.setRequestHeader("Content-type", "application/json; charset=utf-8");
    },
    contentType: "application/json; charset=utf-8",
    dataType: "json",
    success: function (msg, status)
    {
        ajaxReturn = msg.d;
    },
    error: function (xhr, msg, e)
    {
        alert(e); //Error Callback
        alert('Ajax Callback Failed');
    }
    });

    return ajaxReturn;
}

由于这仍然适用于大多数设备,我希望它只是简单地添加和IOS所需的标头到ajax调用。

任何想法?

感谢。

0 个答案:

没有答案