ラボ > Javascript関連:ajax
ajax()を実行時に「Illegal invocation」が出たときの対処
作成日:2018-03-12, 更新日:2018-03-12
基本
ajax()を実行すると下記のようなエラーが出てきた。
Uncaught TypeError: Illegal invocation
※「Illegal invocation」は「不正な呼び出し」。
調べると「FormData()」を使うと出てくるそうだ。
※他にも予約語を使うときも出てくるそうだ。
エラーと対処
「processData: false」が無いとダメだそう。
▼エラーになったソース
~ 略 ~
var formAry = $(this).parents('form').serializeArray();
var fd = new FormData();
$.each(formAry, function(i, field){
fd.append(field['name'], field['value']);
});
$.ajax({
url: url,
type: 'post',
data: fd
以下、略
▼修正したソース
~ 略 ~
var formAry = $(this).parents('form').serializeArray();
var fd = new FormData();
$.each(formAry, function(i, field){
fd.append(field['name'], field['value']);
});
$.ajax({
url: url,
type: 'post',
processData: false,
data: fd
以下、略