是否可以发送jQuery.ajax调用或等效调用而不进行任何类型的响应?当我使用onbeforeunload命令离开页面时,我想在服务器上触发一些东西,但这不是我需要反馈给客户端的东西,所以我只想发送命令,而不是等待响应。
这有可能吗?
发布于 2012-09-21 02:11:40
每个请求都有一个响应。即使服务器抛出错误,响应也会返回错误。
如果您不想添加success
回调,可以忽略该响应。
$.ajax({
url: "theURL",
data: theData
});
发布于 2019-08-30 07:23:38
您可以使用在this stack overflow answer中引用或直接链接到here的navigator sendBeacon API。
根据站点上的描述,它异步发送一些数据,并只检查是否能够将数据排队发送。卸载处理程序不应该像对其他异步XMLHttpRequests那样忽略该请求。
navigator.sendBeacon(url,data) -如果用户代理能够成功地将数据排队以进行传输,则sendBeacon()方法返回true,否则返回false。
..。
确保在卸载文档期间发送数据对于开发人员来说是一件传统上很困难的事情,因为用户代理通常会忽略卸载处理程序中生成的异步XMLHttpRequests。
发布于 2012-09-21 02:12:31
如果您试图尽快返回响应,我认为这更多地是服务器架构的决定。您可以将请求所涉及的实际工作卸载给代理或其他东西,以便可以尽快返回给用户?我不认为只发送单向消息是可行的
https://stackoverflow.com/questions/12518363
复制相似问题