Ajax Post с FormData никогда не достигнет ошибки или успеха - PullRequest
0 голосов
/ 03 апреля 2019

У меня есть вызов POST Ajax с FormData с параметрами и файлами. При отладке вызова он никогда не достигает ни ошибки, ни успеха, и он не достигает контроллера.

FormData содержит структуру с объектом, отображаемым как 'RegisterMerchantInput'

Задано как глобальное:

const fdata = new FormData();

Звоните:

var content = {
   businessName: $('#business-id').val(),
   (...)
};
buildFormData(content);
$.ajax({
   type: 'POST',
   url: '/Owners/savemerchant',
   contentType: false,
   processData: false,
   cache: false,
   data: fdata,                        
   success: function () {
      window.location.href = "../Stores/StoresList";
   },
   error: function (err) {
      window.location.href = "../Home/Error";
   }
});

Для построения данных формы:

function buildFormData(data, parentKey) {
    if (data && typeof data === 'object' && !(data instanceof Date) && !(data instanceof File)) {
       Object.keys(data).forEach(key => {
         buildFormData(data[key], parentKey ? `${parentKey}[${key}]` : key);
       });
    } else {
        const value = data == null ? '' : data;
        fdata.append(parentKey, value);
    }
}

В контроллере:

[HttpPost]
[Route("savemerchant")]
public async Task<IActionResult> SaveMerchant(RegisterMerchantInput model){...}

Теперь я попытался указать [FromBody] и [FromForm]. Я пробовал с - асинхронный: ложный - contentType: не определено и различные комбинации этих параметров.

Звонок как в ожидании в никуда ...

ПРИМЕЧАНИЕ: в FormData также есть файлы, поэтому я не могу сериализовать их в JSON

EDIT: Запрос:

enter image description here

Сроки:

enter image description here

РЕДАКТИРОВАТЬ 2: Зарегистрированные данные формы для отправки (обратите внимание, что все данные глупы, но правильно введены):

businessName: Tester Merchant
vatCode: a
debitorAccount: a
bicCode: a
currencyMandate: a
currencyMandateDate: 2000-01-01
commissionMandate: a
commissionMandateDate: 2000-01-01
city: Avigliano
postalCode: 85101
address: Via Vai 4
name: Bala
surname: Laika
telephone: a
email: bala@laika.com
password: Pa55word1!
country: IT
province: CZ
stores[0][banner]: b
stores[0][description]: b
stores[0][email]: b@b.b
stores[0][website]: b
stores[0][telephone]: b
stores[0][category]: b
stores[0][latitude]: 41.9022448
stores[0][longitude]: 12.456290099999933
stores[0][country]: IT
stores[0][province]: BA
stores[0][city]: b
stores[0][postalCode]: b
stores[0][address]: b
stores[0][terminals][0][store]: b
stores[0][terminals][0][model]: c
stores[0][terminals][0][concept]: c
stores[0][terminals][0][externalCode]: c
stores[0][logo]: (binary)

Размер изображения составляет 2438 байт. Через десять минут мой компьютер вылетает со 100% заполнением диска

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...