Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
MVC: постинг AJAX-формы и вариации реакции контроллера - нужен подход.
|
|||
|---|---|---|---|
|
#18+
Итак, есть страничка, на ней AJAX-форма, которую я создаю через @using (Ajax.BeginForm(.... Обработка формы попадается в контроллер. Первым делом идет серверная валидация (клиентскую сейчас не обсуждаем). По результатам дальше могут быть следующие варианты: 1) Форма не прошла серверную валидацию - вернуть частичное представление, которое должно перезагрузить аякс-форму с указанием ошибок 2) Вернуть частичное представление, которое должно быть вставлено или заменено на страничке (не исходная форма) (пусть даже элемент будет заранее предопределен) 3) Выполнить RedirectToAction Решать, что сделать, должен контроллер (на то он и контроллер) по результатам обработки полученных данных. Но вот беда, реакцию я обязан предопределить заранее еще в Ajax.BeginForm. Решения, которые приходят в голову: А) перепилить function asyncOnSuccess в jquery.unobtrusive-ajax.js, тем самым создав проблемы (возможно, небольшие) с обновлением версий библиотек, и добавить дополнительные атрибуты к аякс-форме Б) отказаться от microsoft unobtrusive ajax, написать свой хелпер для аякс-формы и пользовать напрямую jQuery-ajax (сБДиШ) В) возвращать из контроллера какие-то js-скрипты вместе с контентом (некрасиво и не знаю как это заставить работать) Возможно, я упускаю какой-то более простой вариант - посоветуйте. От AJAX в пользу полных перегрузок страниц отказываться не хочу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.02.2014, 14:17 |
|
||
|
MVC: постинг AJAX-формы и вариации реакции контроллера - нужен подход.
|
|||
|---|---|---|---|
|
#18+
Shocker.Pro, а кто мешает сделать так Код: javascript 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.02.2014, 15:45 |
|
||
|
MVC: постинг AJAX-формы и вариации реакции контроллера - нужен подход.
|
|||
|---|---|---|---|
|
#18+
ну это же вариант Б, правильно я понимаю? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.02.2014, 16:02 |
|
||
|
MVC: постинг AJAX-формы и вариации реакции контроллера - нужен подход.
|
|||
|---|---|---|---|
|
#18+
В общем, смог сделать поверх стандартного unobtrusive ajax: можно не указывать UpdateTargetId (указав нужный target в другом data-свойстве), соответственно, стандартный JS-обработчик ничего не делает, на OnSuccess повесил собственный JS-обработчик, который извлекает из заголовков ResponseHeaders ответ контроллера о том, что ему делать, ну и, соответственно, либо обновляет target так же, как и стандартный обработчик, либо перезагружает аякс-форму, либо уходит на другую страницу. Ну и оболочку для хелпера для создания модифицированных аякс-форм. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.03.2014, 15:44 |
|
||
|
|

start [/forum/topic.php?fid=18&gotonew=1&tid=1357577]: |
0ms |
get settings: |
9ms |
get forum list: |
22ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
55ms |
get topic data: |
12ms |
get first new msg: |
7ms |
get forum data: |
3ms |
get page messages: |
56ms |
get tp. blocked users: |
2ms |
| others: | 235ms |
| total: | 409ms |

| 0 / 0 |
