function ajax ($data){
let setup = {};
// $data является либо new FormData(), либо объектом
if ($data instanceof FormData) {
setup = {
processData: false,
contentType: false
};
}
$.ajaxSetup({
url: "/dummy_url",
type: "POST",
data: $data,
dataType: "JSON",
cache: false
});
return $.ajax(setup);
}
От сервера в переменную
$response
возвращается массив с ссылками на скрипты, которые необходимо загрузить в зависимости от параметров формы:
$.each($response, function (k, v) {
$.getScript(v);
});
Если изначально отправлялась формдата, получаю ошибку:
Uncaught TypeError: Illegal invocation
at i (jquery-3.3.1.min.js:2)
at jt (jquery-3.3.1.min.js:2)
at Function.w.param (jquery-3.3.1.min.js:2)
at Function.ajax (jquery-3.3.1.min.js:2)
at Ajax.self.request (app.ajax.js:40)
at HTMLFormElement.<anonymous> (account.function.js?0.1:55)
at HTMLDocument.dispatch (jquery-3.3.1.min.js:2)
at HTMLDocument.y.handle (jquery-3.3.1.min.js:2)
Если отправлялся объект, то скрипты нормально загружаются в DOM:
let $data = {id: 1, value: "dummy_value"}
В чем собственно прЕкол? Очевидно, что проблема в формдате, но в чем именно не понимаю.