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

2024-01-27

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

无法加载资源:net::ERR_EMPTY_RESPONSE

我的 ajax 调用适用于所有按钮点击,但是这个error仅用于一个按钮(可以说testExt按钮)。单击这些按钮时,后台脚本将运行并执行一些测试。唯一的区别是这个testExt需要更多时间才能完成执行(接近 4 分 27 秒),但响应在 4 分 16 秒后到达客户端error即使脚本在服务器端成功执行,也会阻止ajax。

控制台显示以下错误:

Object {readyState: 0, responseText: "", status: 0, statusText: "error"}

阿贾克斯代码:

$.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

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

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

FireFox:

Chrome


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

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

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

我还赞同 @DelightedD0D 使用服务工作者或其他机制(例如轮询)的建议。 AJAX 并不是真正为这么长时间的请求而构建的,因此您可能会遇到其他问题。

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

正如我提到的,听起来像你ARE根据您的评论,走不同的路线:

@TheMadDeveloper DelightedD0D:根据你们的建议,我正在考虑在这种情况下使用 websocket。你认为这是个好主意吗?虽然我被困住了 stackoverflow.com/questions/37940540/

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

如果你还没有在 websocket 道路上走得太远,你可以看看服务器发送的事件 http://www.w3schools.com/html/html5_serversentevents.asp (SSE).

这个帖子 https://stackoverflow.com/questions/31768349/how-does-server-sent-events-work有一些特定于 Tomcat 的信息。另请参阅此帖子 https://stackoverflow.com/questions/5195452/websockets-vs-server-sent-events-eventsource?rq=1有关 SSE 和 websockets 的详细比较。

希望有帮助!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

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

随机推荐

  • SQLAlchemy 自定义查询列

    我有一个如下定义的声明表 class Transaction Base tablename transactions id Column Integer primary key True account id Column Integer
  • Request.Url.Authority 未返回预期的域

    我正在网站的控制器中生成一封电子邮件 其中包含指向我的网站的链接 http Request Url Authority some page 当我在本地计算机上测试它时 这是有效的 返回localhost 12345 和生产中 返回www c
  • Angular 6 httpClient 使用凭据发布

    我有一些代码可以发布一些数据来创建数据记录 它在一个服务中 这是代码 import Injectable from angular core import HttpClient HttpHeaders from angular common
  • CakePHP 2.1 测量页面执行时间

    如何测量 CakePHP 2 1 中的页面执行时间 在 1 3 中 它在调试模式下呈现在代码中 你可以使用调试工具包插件 https github com cakephp debug kit找出执行时间 或者您可以在 app 中编辑 ind
  • 在 Windows 10 IoT 上使用 UWP 进行 LDAP 查询

    经过几个小时的搜索后 似乎无法从 UWP 应用程序查询本地 LDAP 目录 Microsoft Active Directory 或其他 这似乎是 UWP 产品中的一个相当奇怪的漏洞 因此我希望我只是错过了明显的漏洞 通用 Windows
  • 如何在构建的电子应用程序中获取开发工具?

    是否可以在构建的电子应用程序中显示开发工具 我使用构建的可执行文件electron packager与使用运行的应用程序的行为不同electron在命令行中 我无法看到抛出了哪些类型的异常 是的 可以在打包的应用程序中显示 DevTools
  • Android:单击时更改按钮颜色

    基本上 我正在尝试创建一个单击时的按钮 注意 NOT按下 会将颜色从 color1 更改为 color2 再次单击时 颜色将从 color2 变回 color1 我疯狂地搜索 我设法提取的唯一信息是如何在按下按钮时改变颜色 即当用户按住按钮
  • 将构造函数添加到 deftype 创建的类中

    为了与 Java 实现互操作性 我需要一个具有执行初始化的空构造函数的类 此类的对象需要具有类似于可变java字段的东西 即该对象代表游戏的后端 并且需要保持游戏状态 deftype 确实一切我想要做except提供一个无效构造函数 因为我
  • 如何检索高质量的指南针方向(如 Google 地图)?

    我发现的所有在 Android 中获取指南针方向的指南都有一个错误 当您以纵向模式握住手机并 看 地平线上方时 指南针箭头会从正确方向旋转 180 度 谷歌地图方向指示器不存在这个问题 谷歌地图的另一个好处是它们可以以某种方式估计指南针的准
  • Vue.js 对数组进行过滤

    我正在尝试使用 vue js 中的计算属性来过滤数组 我想搜索多个字段 名称 状态 标签等 My data events id 1 name Name of event url datetime 2017 05 10T00 00 00Z d
  • 不完整类型的静态字段 - 合法吗?

    在 C 中声明在类定义时不完整的类型的静态字段是否合法 例如 Foo h class Foo public private class Bar static Bar something Foo cpp class Foo Bar Foo B
  • 标准对 char 数组作为模板参数有何规定?

    在我研究答案的过程中这个问题 https stackoverflow com q 57003010 9883438我发现 我之前不知道 gcc 和 clang 允许char如果声明了数组 则它们将成为模板参数static 例如 此代码使用
  • 如何从 ruby​​ 中的反引号命令获取颜色?

    在 ruby 文件中 当我做system rspec file spec rb 我得到一个很好的彩色输出 当我这样做时 result rspec file spec rb puts result 我一点颜色都没有 有什么办法可以保留颜色 顺
  • 过滤文件内容到排序表

    我有一个包含以下代码行的文件 这里的文件显示了一个逐一排序的时间表 at 12 00 the schedule of james version1 is first task eating nothing second task rest
  • Visual Studio 2015(最新更新)发布功能无法编译 ASP.NET Core RC1 源

    几个月前 我开始开发一个新的 ASP NET Core RC1 项目 并使用 Visual Studio 2015 进行发布 生成一个文件夹树 无需项目 C 源代码即可部署 因为它正在将其编译到放入文件夹树的程序集中 现在我已经升级了 Vi
  • 如果 POJO 对象中的可变字段存储在并发HashMap 中,那么该字段是否是线程安全的?

    如果 POJO 对象中的可变字段存储在并发HashMap 中 那么该字段是否是线程安全的 或者我是否需要用锁保护字段或使它们不稳定以确保所有线程都能看到更新 将字段标记为易失性是否足以确保所有线程都能看到更新 如果存储在并发HashMap中
  • java.security.NoSuchAlgorithmException:算法 x25519 不可用

    我收到这段代码的 javax net ssl SSLException 连接重置 ReadableByteChannel rbc Channels newChannel url getInputStream 但仅当在使用 Open JDK
  • Common Lisp:编译与评估

    在带有 sbcl 的 Emacs Slime 上 一旦我在文件中定义了一个函数 或多个 我有两个选择 评估 例如与 C M x eval defun 汇编 例如使用 C c M k 编译文件 第二个也生成一个 fasl 文件 两者有何区别
  • 如何找到带有标题信息的 ELF 文件/图像的大小?

    我需要找到精灵图像的大小进行一些计算 我尝试过在 Linux 上使用 readelf 实用程序 它提供了有关标题和部分的信息 我需要知道精灵的确切文件大小 总体而言 如何从标题信息中找到 ELF 的大小 或者是否有其他方法可以在不读取完整图
  • Java with ajax - ERR_EMPTY_RESPONSE - 服务器处理请求时 Ajax 响应抛出错误

    我在浏览器控制台中收到以下错误 无法加载资源 net ERR EMPTY RESPONSE 我的 ajax 调用适用于所有按钮点击 但是这个error仅用于一个按钮 可以说testExt按钮 单击这些按钮时 后台脚本将运行并执行一些测试 唯