當我有一個做了jQuery的AJAX後,然後腳本應該重定向到一個不同的頁面。問題在於,在帖子完成之前它有時會重定向。似乎有幾個解決方案,但我無法讓他們工作。謝謝你的幫助! 這裏是我的代碼:jQuery的崗位做
$.post("cart.php", { 'products[]':postvalues }, function(data) { });
location.href="index.php";
當我有一個做了jQuery的AJAX後,然後腳本應該重定向到一個不同的頁面。問題在於,在帖子完成之前它有時會重定向。似乎有幾個解決方案,但我無法讓他們工作。謝謝你的幫助! 這裏是我的代碼:jQuery的崗位做
$.post("cart.php", { 'products[]':postvalues }, function(data) { });
location.href="index.php";
你需要把你的location.href
的回調函數內。
$.post("cart.php", { 'products[]':postvalues }, function(data, status) {
// if you don't want to redirect if it doesn't work, you can check if status == 'success'
location.href = "index.php";
});
見jQuery.post文檔的更多信息。
雖然,我必須要問:如果你打算無論如何要重定向,爲什麼通過AJAX做到這一點?
是有一些原因,你不想簡單地提交表單的正常方式?如果不是,那麼你應該改用這條路線。
執行重定向在回調函數上的成功:
$.post("cart.php", { 'products[]':postvalues }, function(data, textStatus) {
if (textStatus == "success") {
location.href="index.php";
}
});
見jQuery.post
爲其他狀態來實現進一步的錯誤處理。
你的問題是,你的位置變化不會等待你的職位採取行動來完成......因爲後使用Ajax它傳遞控制到下一行一旦發送請求。如果你想去你可以做window.location.reload(在同一頁
$.post("cart.php", { 'products[]':postvalues }, function(data) {
// do stuff with data
location.href="index.php";
});
),如果TOU希望與JS你可以使用負載濫用:
爲了解決這個問題,這樣做一個DIV,只有內容
這將是簡單的,但崗位是動態的,搞得這取決於用戶選擇,如果用戶選擇某些項目更被添加。它的行爲像複選框,但用圖像完成。 – Scott
爲了使它成功,我不得不將'href'從'.'改爲'#'。 – dhill