Сброс соединения после одновременной AJAX и стандартной формы POST - PullRequest
2 голосов
/ 24 августа 2010

Сценарий:

  • Собственный свернутый пост jQuery Ajax для проверки поля ввода при расфокусировке
  • Стандартная кнопка отправки для публикации в форме

Если явызвать проверку и подождать, пока я не увижу ее завершенной в firebug, а затем нажать «Сохранить», все в порядке.Однако, если я оставляю изменение в поле и затем нажимаю кнопку отправки напрямую (чтобы и ajax, и стандартная публикация происходили почти одновременно), запрос зависает в браузере перед возвратом «сброса соединения».Если работает в VS отладка, я ничего не вижу, если я нажму паузу.Затем мне предоставляют следующий стек вызовов:

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

Справочная информация:

Веб-приложение ASP.NET 4 MVC 2 с некоторыми устаревшими страницами веб-форм (страница, участвующая ви сообщение ajax, и стандартное сообщение - это одна и та же страница веб-форм), работающая локально на Win7 / IIS7.

Я мог бы потенциально отключить кнопку отправки, когда запускается проверка ajax.Однако, даже если я сделаю это, я заинтригован, узнав, что вызвало эту, казалось бы, временную / параллельную проблему запроса.

1 Ответ

0 голосов
/ 08 марта 2011

Можете ли вы отключить пост ajax, когда происходит щелчок? таким образом вы должны проверить условия в событии click, прежде чем делать что-либо еще.

...