2014-02-11 23 views
0

我'尝试AJAX提交一个表单控制器功能,然后将其重定向到包含成功列表页面后,因为我'使用jQuery验证插件,我不得不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有任何其他的方式做到这一点?谢谢。

+1

如果您想重定向,使用'.ajax()'几乎没有任何意义。只需使用'

''action'指向您的服务器端脚本并从那里处理重定向。然后,您不需要'submitHandler'回调,因为jQuery Validate的默认行为是只在提交表单('action')有效时提交。 – Sparky

+0

谢谢,你能不能帮我解决我在这个链接中的问题[myanotherquestion](http://stackoverflow.com/questions/21699709/combining-custom-error-placement-with-success-is-not-working-jquery -validate-plu) –

回答

1

有相当多使用ajax如果你想重定向到一个新的一页......那就像坐公车的时候你真的想走没有意义的。如果你想走路,就走。

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

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

...然后处理页面从服务器端重定向。 (这是如何使用前我们开始使用ajax做。)

然后你就可以完全从.validate()删除submitHandler回调函数,如jQuery验证的默认行为的形式后,只是提交表单(action)通过验证。

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方法是,如果请求成功被调用的函数,但是这并不意味着,用户数据是正确插入数据库,这意味着只有用户浏览器已发送数据到您的服务器。接下来会发生什么 - 取决于你。

+0

我用assign()和href检查过。然而,表单不重定向,它执行addstudent函数内编写的代码后,仍然在同一页上,问题是这是正常的ajax调用工作正常,而不是在jQuery中验证提交处理程序 –

相关问题