如何使用jquery验证插件使用ajax提交表单并在成功后重定向到另一个页面

时间:2014-02-11 12:48:23

标签: jquery ajax jquery-validate

我想尝试将ajax提交给控制器函数,然后将其重定向到包含成功列表的页面,因为我使用jQuery验证插件,我不得不像这样提交ajax

submitHandler: function (form) {
    $.ajax({
        type: "POST",
        url: "/admin/student/addstud",
        data: $('#sturegister').serialize(),
        //dataType: "html",
        success: function (response) {
            window.location.replace('/admin/student/add');
        }
    });

详细信息会添加到数据库中,但是,表单没有重定向到/admin/student/add.is有没有其他方法可以执行此操作?感谢。

2 个答案:

答案 0 :(得分:1)

如果您想要重定向到新页面,使用ajax几乎没有意义......就像您真正想要走路时乘坐公共汽车一样。如果你想走路,就走吧。

只需使用action指向服务器端脚本的URL ...

<form action="/admin/student/addstud" ...

...然后从服务器端处理页面重定向。 (在我们开始使用ajax之前,这就是以前的做法。)

然后,您可以从submitHandler中完全删除.validate()回调函数,因为jQuery Validate的默认行为是在表单通过验证后提交表单(action)。 / p>

答案 1 :(得分:0)

location.assign()方法加载新文档。

window.location.assign("http://www.your-full-url-here.com");

window.location.href ="http://www.your-full-url-here.com";

一个通知:jQuery AJAX调用的success方法是请求成功时要调用的函数,但这并不意味着,用户数据正确插入到数据库中,这意味着用户浏览器已将数据发送到您的服务器。接下来会发生什么 - 这取决于你。