В ASP.NET MVC как запустить JavaScript после возвращения формы POST? - PullRequest
1 голос
/ 18 ноября 2009

Как запустить JavaScript после того, как форма была успешно отправлена ​​и возвращена?

<% Html.BeginForm(); %>
....
<% Html.EndForm(); %>

Ответы [ 4 ]

1 голос
/ 19 ноября 2009

Если вы отправляете сообщение обратно через jQuery, есть атрибут Success, в который вы можете поместить jScript для запуска функции.

$.ajax({
  type: "POST",
  url: "MyPage.aspx/jQueryDoStuff",
  data: "",
  contentType: "application/json; charset=utf-8",
  dataType: "json",
  async: false,
  success: function(msg) {
    DoPostAjaxStuffHere(msg);
  },
  error: function(XMLHttpRequest, textStatus, errorThrown) { }
});

Также обратите внимание на атрибут Error, который также может быть полезен.

1 голос
/ 19 ноября 2009

Я публикую большинство своих форм асинхронно, используя функцию ajax JQuery. Когда страница, которую я разместил для обработки сообщения, возвращает некоторый JSON, который читает мой исходный javascript для публикации (как обратный вызов при успешном выполнении), а затем принимает решение, что делать. Именно так в настоящее время пишется большинство веб-приложений, альтернативой является перенаправление на страницу, на которой есть встроенный блок скриптов.

1 голос
/ 19 ноября 2009

В традиционном (не ajax) POST вы получаете новую страницу обратно, поэтому javascript будет работать так же, как и на любой другой странице.

Если вы спрашиваете, как вы выполняете POST и используете то же представление, что и GET, и запускаете javascript только на POST, тогда короткий ответ - нет. Вы захотите использовать другое представление для POST, которое имеет дополнительный javascript, который необходимо запустить. Вы можете повторно использовать большую часть своего кода представления через частичные просмотры страниц.

0 голосов
/ 19 ноября 2009

Для асинхронных форм посмотрите на это one . Доступно несколько обратных вызовов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...