ホームページ > バックエンド開発 > PHPチュートリアル > JavaScript - モバイル フォーム送信ページ、ネットワークが遅い場合、フォームは 2 回送信されます

JavaScript - モバイル フォーム送信ページ、ネットワークが遅い場合、フォームは 2 回送信されます

WBOY
リリース: 2016-10-22 00:14:24
オリジナル
1350 人が閲覧しました

ネットワークが良好な場合、モバイル Web サイトの送信ページは正常に動作します。ただし、Fiddler は同じコンテンツをキャプチャして 2 回送信します。この状況を回避するにはどうすればよいですか?

返信内容:

ネットワークが良好な場合、モバイル Web サイトの送信ページは正常に動作します。ただし、Fiddler は同じコンテンツをキャプチャして 2 回送信します。この状況を回避するにはどうすればよいですか?

私のアプローチは、サーバー上でトークンを生成し、送信時にトークンを検証することです。2 番目の検証は、フォームの送信時に送信ボタンを無効に設定することです。それ
リーリー

Csrf検証クラス

リーリー

1 回クリックして 1 回送信する必要があります。ネットワークが遅いため、1 回クリックして 2 回送信することは不可能です。どうしてイベントのトリガーが根なし水のようになるのでしょうか?この場合は、コードに問題があるはずです

まあ、それほど複雑にする必要はありません。

次の 2 つのリクエストを見てください

header,是不是第一个请求down掉了,排除下是不是两次点击导致的(如果是点击导致的,点击之后禁用dom元素的点击事件),或者是代码部分原因

ところで、あなたが撮影したデータを

送ってください。 请求的代码Fiddler

2 回送信する理由は大きく 2 つあります:

まず、クリック イベントが 2 回トリガーされます (この状況はネットワークの速度には依存しません)
これは主に一部の JS プラグインが原因であり、Google で検索する必要があります。これは比較的一般的ですが、イベントが 2 回実行される原因となるのは iscroll.js です。インターネット上には多くの解決策があります。2 つ目は、ネットワーク速度が高く、ユーザーが待つことができないことです。複数回クリックしてください
必ず ajax を使用してください。フォームを複数回送信できる場合は、disabled ボタンを削除してください。コード>ajax。 iscroll.js会造成事件执行两次,网上有很多方案.
二,是网速忙,用户等不及,多次点击
一定要在将要ajax前把按钮disabled掉,如果表单是可以多次提交的,在ajax后,再把disabled

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート