当我不希望从服务器返回响应时,是否有正确的方法进行AJAX调用?我希望服务器保存一些数据,但客户端不需要响应.如果服务器永远不响应,AJAX连接是否会保持打开状态,等待响应直到超时?
我会使用如下的Javascript.这是一个典型的AJAX调用,除了我遗漏了xmlhttp.onreadystatechange事件.
function SaveLabel()
{
var xmlhttp = null;
if (window.XMLHttpRequest) {
xmlhttp = new XMLHttpRequest();
} else if (window.ActiveXObject) {
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
} else {
alert('Your browser does not support this feature.');
return;
}
xmlhttp.open('GET', 'mypage.aspx?label=1');
xmlhttp.send(null);
}
Run Code Online (Sandbox Code Playgroud)
我发现了一个类似的问题,但它并没有真正回答我的问题:Ajax连接是否在某些时候断开连接?
无论您是否期望(或将来或不会)来自服务器的回复,您都需要保持连接处于打开状态,直到服务器完成为止.
原因是如果客户端在脚本完成执行之前断开连接,大多数Web服务器将终止请求.
服务器不必像返回数据那样"响应",它只需要"返回".
即回答你的问题"Ajax连接在某些时候断开连接?":是的,当服务器终止连接时.
因此,您需要做的是确保ASP(X)脚本在完成其工作后立即终止.不要让它永远运行,将数据传递给需要长时间运行处理的辅助守护程序/服务等.
| 归档时间: |
|
| 查看次数: |
1290 次 |
| 最近记录: |