Простая отправка формы JQuery с ASP.NET MVC 3 - PullRequest
0 голосов
/ 07 марта 2011

В моем приложении ASP.NET MVC 3 есть базовая форма отправки электронной почты.Я пытаюсь интегрировать с ним плагин формы jQuery.

<script type="text/javascript" src="@Url.Content("~/Scripts/jquery.form.js")"></script> 

<script type="text/javascript">
// prepare the form when the DOM is ready 
$(document).ready(function () {
    var options = {
        beforeSubmit:  showRequest,
        success: showResponse
    };

    // bind form using 'ajaxForm' 
    $('#mailform').ajaxForm(options);
});
function showRequest(formData, jqForm, options) {
    alert('request');
}
// post-submit callback
function showResponse(responseText, statusText, xhr, $form) {
    alert('response');
}
</script> 
...
<form action="@Url.Action("SubmitEmail")" class="mail-form" id="mailform" method="post">
    <fieldset>
        <span class="txt">
            <input type="text" name="email" id="email" value="Enter Your Email Address" />
        </span>
        <input class="button" id="submitemail" type="submit" />
    </fieldset>
</form>

Я протестировал не-AJAX-версию, и она отлично работает.Однако, когда я пытаюсь использовать плагин jQuery, вызывается функция showRequest, а функция showResponse - нет, и, похоже, этот метод никогда не вызывается на сервере.

1 Ответ

1 голос
/ 07 марта 2011

Пара вещей, которые нужно проверить - у вас есть скрипт-тег для формы jQuery, но я не вижу тега для самого jQuery (вы бы хотели, чтобы jQuery был указан перед плагином).

Также - установите Fiddler или Firebug и убедитесь, что запросы отправляются. И просто бросить это там, для вызова это просто плагин формы является излишним. $ .post будет работать нормально.

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