Эта проблема происходит только с текущей версией Safari на Mac. (Старые версии Safari могут быть затронуты, но не нужны для этого)Нечетная проблема Safari с использованием jQuery.ajax()
Общая ошибка 500 возвращается каждый раз только для Safari.
У вас проблема с ресурсом, который вы ищете, и его невозможно отобразить.
Весь другой браузер, который я могу проверить с возвратом успешно, имея данные - ожидаемый фрагмент 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
Ни один из них не появляются, чтобы сделать какие-либо изменения.
Edit: Я сказал, что логи сервера, кажется, не показывают ничего, но мой быть конфигурацией (я не имею доступа к ним)
Нет ошибки в тексте ответа ошибки 500, получаемой Safari? –
@RoryMcCrossan - единственный текст ответа, который я вижу, - «Существует проблема с ресурсом, который вы ищете, и его невозможно отобразить». – Jason
Очень странно. Единственное различие, которое я мог себе представить, это «данные», поступающие из запроса Safari, каким-то образом вызывают проблему в коде на стороне сервера. Не могли бы вы добавить код 'buildAddressJsonData()' к вопросу - или, по крайней мере, проверить, что он генерирует объект, который вы ожидаете. –