使用jQuery.ajax()的奇怪Safari问题

时间:2017-01-06 19:21:51

标签: jquery ajax safari

此问题仅适用于Mac上当前版本的Safari。 (较旧版本的Safari可能会受到影响,但不需要这样做)

每次只为Safari返回一个通用500错误。

您要查找的资源存在问题,无法显示。

我可以使用数据成功返回的所有其他浏览器是要显示的预期HTML块。

这是我的ajax电话。

    $.ajax({
        async: true,  //Added based on internet suggestions
        type: "POST",
        url: '../Provider/SaveAddress',
        data: buildAddressJsonData(),
        contentType: 'application/json; charset=utf-8',
        success: function (data) {               
            $("#result").html(data);
        },
        error: function (xhr, ajaxOptions, thrownError) {
            DisplayErrorMessage(xhr, ajaxOptions, thrownError);
        }
    });

我在async: true基于其他一些人说是修复了这个问题。我甚至尝试使用HttpContext.Current.Response.AddHeader("Access-Control-Allow-Origin","*");修改响应服务器端,因为这也是建议的。

我还确认buildAddressJsonData()提供了正确的json,这是一个例子。

{"IsRequired":"1","AddressIndex":"1","AddressLine1":"IBM","AddressLine2":"123 Upper St","AddressLine3":"Unit 14","City":"My Town","Id":"481c40d3-4a38-492b-880e-33b16021fb69","Lk_AddressTypeId":"d2316e7e-b2df-4274-9757-1ae5aa171f68","Lk_CountryId":"13c9fb13-8f50-438e-890a-63e6f1f4cd29","Lk_StateId":"0894fa8a-8d6b-43fc-89ec-e16ba915b6a4","SendMail":1}

这些都存放在ASP.Net MVC5应用程序中

这些似乎都没有做出任何改变。

编辑:我被告知服务器日志似乎没有显示任何内容,但可能是配置(我无法访问它们)

1 个答案:

答案 0 :(得分:0)

此解决方案是Josepthis question建议的解决方案。

事实证明OSX和iOS上的Safari默认会阻止第三方cookie,并且更改此设置可以解决此问题。