2014-02-11 21 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中驗證提交處理程序 –

相關問題