2013-08-02 32 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