申し訳ありません。私はなぜ私がUncaught TypeError: Illegal invocation
ワードプレスの私のAJAX要求にエラーが発生するのかわかりません。ワードプレスのajaxリクエストで不正な呼び出しエラー(processDataが設定されていないと設定されていてアクションハンドラが見つからない場合)
このコード作品:
JS
function updateDB(){
$.ajax({
url: '/wp-admin/admin-ajax.php',
type: 'POST',
data: {
action: 'det_lilla_exta
},
});
}
PHP(サーバスクリプト)
<?php
add_action('wp_ajax_det_lilla_extra', 'det_lilla_extra');
add_action('wp_ajax_nopriv_det_lilla_extra', 'det_lilla_extra');
function det_lilla_extra(){
echo "hi";
}
しかし、私は私のjsを変更した場合は(後で経由で画像を送信することができるようにしますfromデータオブジェクト)
JS
function updateDB(){
var formData = new FormData();
formData.append('action', 'det-lilla-extra');
$.ajax({
url: '/wp-admin/admin-ajax.php',
type: 'POST',
data: formData,
});
}
次に、Uncaught TypeError: Illegal invocation
エラーが発生します。私はいくつかのgoogleingを行って、あなたのデータが文字列に変換されないようにするには、processData
パラメータをfalseにする必要があることを発見しました。
function updateDB(){
var formData = new FormData();
formData.append('action', 'det-lilla-extra');
$.ajax({
url: '/wp-admin/admin-ajax.php',
type: 'POST',
data: formData,
processData: false
});
}
をしかし、今、私はそれが私のaction
ハンドラを見つけることができないことを意味し、私のwordpressのPHPスクリプトから0
を受け取る:同じようにここで行わ。
ここで何をすべきかわかりません。それとも本当に間違っているのか。何か案は?
(私のコードを貼り付けてコピーしていないので、多少の構文エラーがあるかもしれませんが、私はではありません。は私のオリジナルコードに構文上の間違いがあります)。
'contentType'パラメータを** false **に設定してみてください。 – Wizard
@Wizard既に試しました。変化なし。 – vonhact