2013-08-02 49 views
0

在jQuery的人可以做的一個事件是這樣的:警報在HTTP請求

$("#target").click(function() { 
    alert("Handler for .click() called."); 
}); 

是否有可能做到這一點,當頁面正在做一個HTTP請求到某個網址?也許用簡單的Javascript? 這件事shouldent什麼樣的要求(EA AJAX或交或其他)

$("#target").???ON_HTTP_REQUEST???(function() { 
    alert("Handler for .click() called."); 
}); 

我Google了很多,但沒有什麼這一點。

+0

你叫什麼這裏<< ON_HTTP_REQUEST >>? ajax請求還是什麼? –

+0

@roasted它不是關於'調用',而是'聽',當一個頁面正在加載外部數據,然後做一些事情,如提醒HTTP請求的URL – Youss

+0

我明白了,我的意思是你叫什麼HTTP請求?顯然不僅僅是在你對adeneo的回答發表評論之後發出的ajax請求。那麼對我來說,你的問題沒有意義。你能提供一個更完整的例子嗎? –

回答

0

什麼你要找的可能是$.ajaxStart,它將觸發每當一個Ajax調用啓動(POST和GET):

$(document).ajaxStart(function() { 
    alert("Ajax started"); 
}); 

從文檔:

每當一個Ajax請求即將發送,jQuery將檢查是否有其他未完成的Ajax請求 。如果 進度中沒有一個進展,jQuery將觸發ajaxStart事件。已經使用.ajaxStart()方法註冊的任何和所有處理程序 此次都會在 處執行。

+0

我會考慮load()方法 –

+0

您認爲有一個通用代碼,這也在POST和其他類型的請求上這樣做嗎?因爲並非每個HTTP請求都是AJAX – Youss

+1

@ user1532999 - Ajax是Asyncronous Javascript和XML,它同時執行POST和GET請求。如果您在沒有Ajax的情況下執行請求,頁面將重新加載,而您不需要事件。 – adeneo

0
$(document).ajaxSend(function(event, jqxhr, settings) { 
    if (settings.url == "ajax/test.html") { 
    alert("loading ajax/test.html"); 
    } 
}); 
+0

謝謝,我不能upvote因爲低堆棧積分 – Youss