jQuery AJAX表单如何获取数据

时间:2011-10-07 10:26:36

标签: asp.net-mvc-3 jquery

我的ASP.NET MVC 3应用程序中有一个表单,它将使用jquery将其数据发送到控制器操作,而不是执行正常的回发:

$('.AjaxForm').live("submit", function (event) {
            event.preventDefault();
            $.validator.unobtrusive.parseDynamicContent('.uiModalContent input');
            console.log($(this).attr('action'));
            $.ajax({
                type: 'POST',
                url: $(this).attr('action'),
                data: data,
                success: function (responseHtml) {
                    alert(responseHtml);
                },
                error: function (responseHtml) {
                    alert('error');
                },
                statusCode:
                {
                    404: function (responseHtml) {
                        alert('404');
                    },
                    500: function (responseHtml) {
                        alert('500');
                    }
                }
            });
        });

但是我收到错误,说数据未定义...如何从表单中获取数据并发送? 同样 ASP.NET MVC 3中的内置验证是否适用于我的代码,或者我是否会遇到问题?感谢

2 个答案:

答案 0 :(得分:1)

您应该使用form.serialize()来创建数据值。您的代码应更改为:

url: $(this).attr('action'),
data: $('.AjaxForm').serialize(),

答案 1 :(得分:1)

您可以使用带有表单的serialize或serializeArray方法通过ajax调用传递所有参数。

data: $('.AjaxForm').serialize(),

http://api.jquery.com/serialize/

http://api.jquery.com/serializeArray/