這個問題只發生在Mac上的Safari當前版本。 (較舊版本的Safari可能會受到影響,但這不是必需的)奇數Safari使用jQuery.ajax問題()
每次只爲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","*");
修改響應serverside,因爲這也是建議的。
我也確認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
這些都不似乎做任何改變。
編輯:我告訴服務器日誌似乎沒有顯示任何東西,但我可以通過配置(我沒有對它們的訪問)
Safari在接收500錯誤的響應文本時是否沒有錯誤? –
@RoryMcCrossan - 我能看到的唯一回覆文本是'您正在查找的資源存在問題,並且無法顯示。「 – Jason
很奇怪。我可以想象的唯一區別是來自Safari請求的'data'在某種程度上會導致服務器端代碼出現問題。你可以將'buildAddressJsonData()'的代碼添加到問題中 - 或者至少檢查它是否生成了您期望的對象。 –