ASP.NET MVC 2 Post AJAX из JavaScript - PullRequest
1 голос
/ 31 мая 2010

Я получил контроль со строго типизированным View, с Ajax.BeginForm (). Теперь я хотел бы изменить метод отправки с

<input type="submit" id="testClick" value="Submit" />

К какому-то методу JavaScript, DoSubmit (). Я попробовал:

  • Invoke нажмите на эту кнопку отправки
  • Вызовите submit в форме ('form1'). Submit (), document.forms ['form1']. Submit ()
  • jQuery формы с ('form1'). AjaxSubmit ();
  • Создать JQuery AJAX

    $.ajax({                                                        
        type: "POST",
        url: $("#form1").attr("action"),
        data: $("#form1").serialize(),            
        success: function() {
            alert("epic win!!!1!1!")      
        },
        error: function(XMLHttpRequest, textStatus, errorThrown) {
            alert("epic fail!")                                        
        }
    });
    

Все эти методы создали обычный запрос (не AJAX), или они не работали. Так что кто-нибудь знает, как я могу сделать, чтобы AJAX отправлял «форму» из JavaScript и строго типизированного механизма (публичный AcrionResult MyFormAction (модель FormModel);) будет работать?

1 Ответ

1 голос
/ 31 мая 2010

У меня отлично сработало, используя плагин форм для jquery. Я обнаружил, что мне нужно было обработать событие click, выполнить ajax submit, а затем вернуть false, чтобы убедиться, что нормальное сообщение не произошло.

<script type="text/javascript">
    $('#testClick').click(function(){
        $('#form1').ajaxSubmit();
        return false;
    });
</script>
...