我試圖下面的網址:發送AJAX上點擊,但還是去HREF
當用戶點擊一個鏈接,我想通過Ajax更新一個特定表的數據庫中的特定列。但我仍然希望用戶被重定向到鏈接的href="<url>"
。
我試過jQuery沒有return false;
,但然後ajax不起作用。
我試過return false;
,但是頁面顯然沒有重定向到我想要的url。
在此先感謝您的幫助。
我試圖下面的網址:發送AJAX上點擊,但還是去HREF
當用戶點擊一個鏈接,我想通過Ajax更新一個特定表的數據庫中的特定列。但我仍然希望用戶被重定向到鏈接的href="<url>"
。
我試過jQuery沒有return false;
,但然後ajax不起作用。
我試過return false;
,但是頁面顯然沒有重定向到我想要的url。
在此先感謝您的幫助。
執行您的AJAX調用,然後在完成時設置document.location
。
$('a').click(function(e){
var href = this.href; // get href from link
e.preventDefault(); // don't follow the link
$.ajax({
url: '/path/to/site',
data: {some: data},
success: function(){
document.location = href; // redirect browser to link
}
});
});
您需要自己序列化這些操作。在事件處理程序首先運行您的AJAX請求,然後從標記中查找href並使用位置重定向將客戶端轉移到該URL。
把重定向代碼在成功回調:
$.ajax({
...
success: function(){
$(location).attr('href',url); // You URL inserted
}
});
我從來沒有見過'$(location).attr('href',url);'之前。似乎工作,但我更喜歡'document.location = url;'。它不需要調用jQuery的開銷。 – 2012-07-11 22:30:18
@火箭真。一種可能性,但你的答案可能會更簡單。 – Steeven 2012-07-11 22:31:41
了window.location = HREF;會更好。保持歷史記錄,我認爲document.location僅用於gecko(firefox)瀏覽器上的重定向。 (不知道這個) – elvispt 2012-07-11 22:32:10
非常感謝! – user1519235 2012-07-12 14:54:18
不客氣。很高興我可以幫助:-) – 2012-07-12 14:55:05