Форма jQuery.post отправить только нечетную ошибку Firefox - PullRequest
3 голосов
/ 17 февраля 2011

Я ищу высокий и низкий ответ на этот вопрос, но, к сожалению, я застрял. Проблема возникает только в Firefox (также проверены IE, Chrome и Safari - работает нормально, ошибок нет). Я опишу последовательность событий, чтобы сохранить отправку всего моего кода.

  1. Приложение ASP.NET MVC 3, базовая форма загружается в диалоговое окно jQuery UI
  2. Пользовательский jQuery для перехвата отправки формы (сериализация формы и затем $ .post на сервер - без ошибок компилятора при отладке и публикации отображаются в Firebug без ошибок)
  3. HTTP GET (автоматически происходит), получая объект ответа от сервера (+ текст успеха и XHR), в этом случае ответ представляет собой обычный HTML-код (снова отображается в Firebug без ошибок)
  4. Настраиваемый jQuery для изменения HTML диалога UI с текущего HTML на ответ Html - , где он терпит неудачу.

Я использовал предупреждения javascript для отладки последовательности событий, и как только запись (и получение) завершена, все просто ... вроде останавливается.

Как я уже сказал, только в firefox! Очень странно, просто интересно, есть ли какие-нибудь известные ошибки с ajax и firefox, или кто-нибудь слышал о подобной ситуации?

Я также должен добавить, что в других частях моего сайта это прекрасно работает во всех браузерах! Единственное различие между этой формой и другими формами, которые успешно завершают функцию, состоит в том, что ответом этой формы является та же «страница» снова, но обновленная , а не новая «страница». (Я использую «страницу», так как я получил все это, работая с отключенным Javascript первым и для изящной деградации)

HELP! Или смейся, либо нормально.

UPDATE

Я попытался отправить представление с пустой моделью обратно в качестве результата действия - работает во всех браузерах, кроме firefox - firefox сохраняет значения из предыдущего поста! А потом я подумал - это черта Firefox не так ли? И, может быть, поэтому оригинальный "перенаправить" ответ HTML не работает ?? Я думаю, пришло время сдаться и дать людям понять, что они не могут использовать Firefox для этой конкретной функции!

Ответы [ 2 ]

2 голосов
/ 22 марта 2011

Хорошо, поэтому я отвечаю на свой собственный вопрос.

Единственный способ найти способ обойти это - использовать $.ajax вместо $.post и использовать параметр async : false

Надеюсь, это кому-нибудь поможет.

Роб

0 голосов
/ 17 февраля 2011

Вы пытались добавить атрибут [OutputCache(Location = System.Web.UI.OutputCacheLocation.None)] в свое действие для GET?Это звучит для меня как проблема кеширования.

...