ホームページ  >  に質問  >  本文

AJAX 成功時に関数を呼び出すことができません

<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>
P粉020556231P粉020556231434日前534

全員に返信(2)返信します

  • P粉038161873

    P粉0381618732023-09-03 13:09:00

    データを JSON として送信する場合、jQuery メソッド .ajax() では、オブジェクトの data プロパティにオブジェクト固有の引数を渡す必要があります。 jQuery.serialize() 関数は、URL のパラメータ文字列を作成します。ここではこれは機能しません。 jQuery.serializeArray():

    を使用する必要があります。

    リーリー リーリー リーリー

    サーバーが何を送り返すのかも確認する必要があります。ダミーの JSON API の場合、.status プロパティは返されません。したがって、テストする意味はありません。

    返事
    0
  • P粉872182023

    P粉8721820232023-09-03 09:36:17

    div にテキストが表示されるまで、トースト div ($('.notify')) を非表示にします。ただし、これを表示する関数 (以下を参照) の追加を怠っており、errorCheck() を使用して AJAX success

    関数のトーストを更新した後にその関数を呼び出すことはありませんでした。 リーリー

    返事
    0
  • キャンセル返事