2012-04-29 43 views
0

也許我在這裏錯過了一些簡單的東西,但這令我很沮喪。所以我需要做的是更新我的服務器上的東西,當這個div圍繞鏈接點擊(我正在點擊通過分析)。我想我會做點擊事件,並做一個Ajax調用(通過get)。加載新頁面之前Ajax調用不運行

$.get("stat/418491289); 

但問題是,沒有進行調用。用戶正在被髮送到下一頁,而不是調用get call未完成/被調用。我會知道,因爲在服務器上它會更新數據庫。也許我不應該打一個Ajax電話,或者我應該做的事情,但我不知道。現在我暫時不能掛起鏈接動作,因爲它被包裝在div中。我想做的最好的事情就是解除請求,然後不用擔心。更新統計數據並不重要,所以如果1%的時間無法正常工作,那就更好了。我將如何做到這一點?

我猜我可能不清楚。我問的是:在瀏覽器進入鏈接頁面之前,我可以通過javascript向我的服務器發出請求嗎?我不在乎答案是什麼,我只需要發送請求。

+0

那豈不是更容易因爲你可以將你的錨標籤的'href'從'example.com'修改爲'example.com?ref = page1'。然後在用戶導航到下一頁後,檢查'ref'參數來更新您的分析。這也可以在沒有JS的情況下工作。 – xbonez

+0

紅色,3nigma更新評論。我認爲這是根據你的要求。 –

回答

2

如果我已經清楚地理解這個問題,你需要使用preventDefault序取消鏈接的默認行爲像

$("#linkID").click(function(e){ 
e.preventDefault(); 
//ajax call here 
}); 

或放return false;

$("#linkID").click(function(){ 

    //ajax call here 
    return false; 
    }); 
1

您是否檢查過該網頁的網絡流量,以查看get請求是否已完成(vs未由服務器處理)?也許這個網址是不正確的,你會收到一個404響應。

它也可能是你如何處理點擊事件。如果您從div點擊處理程序發出ajax請求,並且用戶正在點擊鏈接(),則鏈接將處理首先將用戶帶到頁面的點擊。我不確定默認鏈接處理程序是否將點擊傳播到父元素。

如果這是問題,可能會更容易看到一些代碼來幫助找到問題。

1

您的網址缺少第二個引號。

相關問題