2

シナリオ:

  • unfocus で入力フィールドを検証するロール済みの jQuery Ajax 投稿を所有する
  • フォームに投稿するための標準送信ボタン

検証を開始し、firebug で検証が完了するまで待機すると、[すべて保存] をクリックして問題ありません。ただし、フィールドに変更を加えてから送信ボタンを直接クリックすると (したがって、ajax と標準の投稿の両方がほぼ同時に発生します)、リクエストは「接続のリセット」を返す前にブラウザーでハングします。VS デバッグで実行している場合、一時停止しない限り何も表示されません。次に、次のコールスタックが表示されます。

System.Web.dll!System.Web.Hosting.IIS7WorkerRequest.ReadEntityCoreSync(byte[] buffer, int offset, int size) + 0x23 bytes
System.Web.dll!System.Web.Hosting.IIS7WorkerRequest.ReadEntityBody(byte[] buffer, int size) + 0x18 bytes
System.Web.dll!System.Web.HttpRequest.GetEntireRawContent() + 0x2d4 bytes
System.Web.dll!System.Web.HttpRequest.GetMultipartContent() + 0x45 bytes
System.Web.dll!System.Web.HttpRequest.FillInFormCollection() + 0xad bytes
System.Web.dll!System.Web.HttpRequest.Form.get() + 0x45 bytes
System.Web.dll!System.Web.HttpRequest.HasForm.get() + 0x46 bytes
System.Web.dll!System.Web.UI.Page.GetCollectionBasedOnMethod(bool dontReturnNull) + 0x62 bytes

バックグラウンド:

ASP.NET 4 MVC 2 Web アプリケーションは、Win7/IIS7 でローカルに実行されている、いくつかのレガシー Web フォーム ページ (ajax 投稿と標準投稿の両方に含まれるページは同じ Web フォーム ページです) を使用します。

ajax 検証が起動している間、送信ボタンを無効にする可能性があります。ただし、そうしても、この一見時間ベース/同時要求の問題の原因を知りたいと思っています。

4

1 に答える 1

0

クリックが発生したときに ajax 投稿を無効にできますか? この方法では、他の操作を行う前に、クリック イベントの条件を確認する必要があります。

于 2011-03-08T15:44:03.340 に答える