今回は、Ajax リクエストが 1 回のクリックで複数回送信される理由について、Ajax リクエストが 1 回のクリックで複数回送信される場合の 注意事項 についてお届けします。
ページのajax のリクエストは:
$(function () { $('#submit').click(function () { var createGenreForm = $('#createGenreForm'); if (createGenreForm.valid()) { var obj = { Name: $('#Name').val(), Description: $('#Description').val() }; var jsonSerialized = JSON.stringify(obj); $.ajax({ type: "POST", url: createGenreForm.attr('action'), dataType: "json", contentType: "application/json; charset=utf-8", data: jsonSerialized, success: function (result) { alert(result.Message); }, error: function (error) { alert("There was an error posting the data to the server: " + error.responseText); } }); } }); });
2 つの送信が発生した理由は、ajax リクエストの実行後、送信の 動作 がブロックされなかったためです。そのため、解決策は 2 つあります:
1 タイプのボタンを使用しないでください。タイプがボタンであるボタン。 2. $('#submit').click 関数に、送信を防ぐための最後の行return false; を追加します。
ちょっとした説明: タイトルに英語を埋め込む必要があるのはなぜですか?その理由は、海外のネットユーザーがこの記事に問い合わせられるようにするためです。普段Googleで情報を調べる際に海外ネット民のブログを参考にすることが多く、解決することが多いので、自分が書いた内容も参考にしてもらいたいと思っています。もちろん、記事内のすべてを英語に翻訳することはできません。そのため、すべてのコードを貼り付けて、コード自体が語るように最善を尽くします。 この記事の事例を読んだ後は、この方法を習得したと思います。さらに興味深い情報については、php 中国語 Web サイトの他の関連記事に注目してください。 推奨読書:Ajaxでフォームを送信しファイルアップロードを実装する方法
AjaxバックグラウンドでアップロードされたJSONデータを処理する方法成功
以上がAjax リクエストが 1 回のクリックで複数回送信されるのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。