Приведенный ниже код отлично работает на настольных компьютерах и телефонах Android, но на iPhone, использующем либо Safari, либо Chrome, функция beforesend успешно срабатывает, форма успешно отправляется на сервер, но функция success никогда не срабатывает.
SubmitFormвызывается с кнопки по нажатию кнопки.Я также попытался подключить прослушиватель событий с помощью JQuery, и он делает то же самое.
function SubmitForm() {
var formdata = new FormData($('form').get(0));
$.post({
url: raisePostUrl,
data: formdata,
processData: false,
contentType: false,
beforeSend: function (xhr) {
AddCog('SubmitBtnO', ' Processing...');
},
error: function (xhr, status, error) {
RestoreElementShowAlert('SubmitBtnO', 'Submit', 'MsgDiv', xhr);
},
success: function (result, status, xhr) {
ActionSuccess(result);
},
});
}
function ActionSuccess(data) {
HideModal();
$('#AlertDiv').html(data);
showAlert();
}
Редактировать: просто хотел добавить, что другие запросы $ .post ajax работают на iPhone, отличительные различия между этимзапрос и те, которые работают: 1. Этот запрос включает FormData 2. Функция вызывается из модального окна при нажатии кнопки.
У меня есть запросы $ .post, которые вызываются со страницы cshtml без данных формы, и они отлично работают на iPhone.У меня также есть запросы ajax.beginform, отправленные из модальных окон, которые также отлично работают на iPhone