gpt4 book ai didi

Java with ajax - ERR_EMPTY_RESPONSE - 服务器处理请求时 Ajax 响应抛出错误

转载 作者:行者123 更新时间:2023-12-01 18:04:27 26 4
gpt4 key购买 nike

我在浏览器控制台中收到以下错误。

Failed to load resource: net::ERR_EMPTY_RESPONSE

我的 ajax 调用适用于所有按钮点击,但此错误仅针对一个按钮(假设 testExt 按钮)出现。单击这些按钮时,会出现一个后台脚本运行并执行一些测试。唯一的区别是这个 testExt 需要更多时间来完成其执行(接近 4 分 27 秒),但响应在 error block 中于 4 分 16 秒到达客户端即使脚本在服务器端成功执行,ajax 的性能也会受到影响。

控制台显示以下错误:

对象{readyState:0,responseText:“”,状态:0,statusText:“错误”}

Ajax 代码:

$.ajax({  
type : "Get",
url : "resultValue.htm",
cache: false,
data : "testName=" + name,
success : function(response) {
// success logic here
},
error: function(jqXHR, textStatus){
console.log(jqXHR);
alert('There has been server side error. Please contact TechEng team to get this fixed.')
}
});

从此类请求返回的响应只是一行字符串:

/xxxx/reports/2016-06-15/07-03-53-237-r1Qn/xxx-smoketest-report.html

我用谷歌搜索了一些关于SO的问题,但我不确定它是否是服务器端的java内存问题,因为我也尝试增加内存大小。请帮助我了解出了什么问题。我是否缺少处理此 ajax 请求的某些场景

当我直接访问服务器 API 时,我在浏览器上收到以下响应:

火狐:

response on Firefox

Chrome

response on Chrome

最佳答案

听起来您确实遇到了某种超时。在很多地方,4 分钟以上的请求都可能超时——浏览器、Web 服务器、应用程序服务器……甚至可能是网络设备和操作系统。通常,最低超时值由 Web 服务器设置。

听起来你在 tomcat 上运行,我不太熟悉,但你也许可以在 https://tomcat.apache.org/connectors-doc/common_howto/timeouts.html 找到一些好的信息。 。可能有一种方法可以配置诸如 asyncTimeout 之类的东西。

但是,我想重申我之前的评论(我知道您已经注意到了):

I would also second @DelightedD0D 's suggestion of using service workers or some other mechanism (such as polling). AJAX isn't really built for requests this long, so you'll likely run in to other issues.

即使是我指出的文档也建议不要将这些值设置为极端值。

正如我提到的,从您的评论来看,您正在走的是不同的路线:

@TheMadDeveloper DelightedD0D: From what you guys have suggested I am thinking to use websocket for this scenario. Do you think it's a good idea? although I am stuck stackoverflow.com/questions/37940540/

我认为这是一个明智的决定,尽管 websockets 可能有点矫枉过正。据我所知,您实际上并不需要服务器和客户端在执行任务时不断地交谈。实际上,您只是想知道它何时完成。

如果您还没有在 websocket 路径上走得太远,您可以看看 Server-Sent Events (上交所)。

This post有一些特定于 Tomcat 的信息。 Also see this post了解 SSE 和 websockets 的详细比较。

希望有帮助!

关于Java with ajax - ERR_EMPTY_RESPONSE - 服务器处理请求时 Ajax 响应抛出错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37835232/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com