【发布时间】:2015-04-09 19:09:52
【问题描述】:
我有一个使用 Javascript 的页面,其中我需要一个函数来侦听从服务器接收的数据。基本上,只要它到达服务器,我就需要触发该函数。
这似乎很简单 - 但到目前为止我没有尝试过任何工作。
我知道我的基本设置是正确的 - 因为我可以让它监听鼠标向上、鼠标向下和加载 - 但它在从服务器发送或接收数据时却没有。
例如,这行得通...
document.attachEvent('onmouseup', function(event) {
alert("mouse released!");
});
这也是……
window.attachEvent('onload', function(event) {
alert("page loaded!");
});
但是,这些都没有......
document.attachEvent('onreceive', function(event) {
alert("data received!");
});
window.attachEvent('onreceive', function(event) {
alert("data received!");
});
document.attachEvent('onpost', function(event) {
alert("data posted!");
});
window.attachEvent('onpost', function(event) {
alert("data posted!");
});
document.attachEvent('onmessage', function(event) {
alert("data posted!");
});
window.attachEvent('onmessage', function(event) {
alert("data posted!");
});
有什么建议吗?
提前致谢!
【问题讨论】:
-
使用 addEventListener
-
您可能在请求数据后等待数据。然后你需要使用en.wikipedia.org/wiki/XMLHttpRequest或jQuery,例如,来简化事情。
-
您希望在客户端“发送或接收来自服务器的数据”时触发事件。什么是在服务器和浏览器环境之间发送或接收的数据?您想知道每一位在到达您的网络接口并进入您的 TCP 驱动程序时的实时值吗?如果不是,什么应该触发这样的监听器?换句话说,您真正有兴趣做什么?
-
对于 XMLHttpRequest 可能有效,但我不确定它是否真的必须那么复杂。我需要做的是有一个每次请求(任何请求)发送到服务器时都会触发的函数;以及当收到响应 - 任何响应 - 时。我不需要知道有关数据本身的任何信息 - 我只需要知道何时发送了请求或收到了响应。
-
您订阅的事件:
onreceive和onpost不存在,onmessage用于 communicating between iframes。您想手动创建这些事件吗?如果您希望利用 AJAX 事件,如果它们是通过 jQuery 进行的,则可以这样做,否则我认为您无法全局利用页面发出的每个 XMLHttpRequest。
标签: javascript html