AJAX 成功時に関数を呼び出すことができません
P粉020556231
2023-09-02 13:54:42
<p>ほとんどの jQuery を Ajax で正常に使用できません。応答からエラー メッセージを取得して通知 (トースト) div に表示しようとしていますが、<code>.show()</code> と <code>.hide()< に加えて、 /code> 何を試してもうまくいきません。 </p>
<p><code>console.log()</code> を使用して URL からの応答をデコードし、すべてが期待どおりに動作することを確認しましたが、Ajax 内で関数を呼び出すことができません成功関数< ;/ p>
<p>これはボタンのクリック時に起動する現在の JS です。 </p>
<pre class="brush:php;toolbar:false;">function errMsg(code, msg) {
const eCode = '<b>E-NS: 'コード' </b> </br>' msg;
const eMsg = '<span class="err" style="color: red;">' eCode '</span>';
$('.notify').empty().html(eMsg);
}
$(document).ready(function() {
$('#next-1').click(function(e) {
e.preventDefault();
$.ajax({
URL:「../data.php」、
メソッド: 'POST'、
データ: $('#form-1').serializeArray()、
データ型: 'JSON'、
成功:関数(応答){
if(response.status === true){
$('#form-1').hide();
$('#form-2').show();
} それ以外 {
console.log(response.status);
console.log('Response = ' 応答.コード応答.エラー);
errMsg(応答コード、応答.エラー);
var eCode = '<b>E-NS: 'response.code' </b> </br>'response.error;
var eMsg = '<span class="err>' eCode '</span>';
$('.notify').empty().html(eMsg);
}
}
})
})
)}
<p>php や jQuery にはエラーや警告がないことに注意することが重要です。私は AJAX を初めて使用するので、これが私にできるかどうかはまったくわかりませんが、十分論理的だと思われます。 </p>
データを
を使用する必要があります。JSON
として送信する場合、jQuery メソッド.ajax()
では、オブジェクトのdata
プロパティにオブジェクト固有の引数を渡す必要があります。jQuery.serialize()
関数は、URL のパラメータ文字列を作成します。ここではこれは機能しません。jQuery.serializeArray()
:サーバーが何を送り返すのかも確認する必要があります。ダミーの JSON API の場合、
.status
プロパティは返されません。したがって、テストする意味はありません。div にテキストが表示されるまで、トースト div (
関数のトーストを更新した後にその関数を呼び出すことはありませんでした。 リーリー$('.notify')
) を非表示にします。ただし、これを表示する関数 (以下を参照) の追加を怠っており、errorCheck() Code> 更新 AJAX
を使用して AJAX
success