【问题标题】:Ajax xmlhttprequest timeoutAjax xmlhttp请求超时
【发布时间】:2016-01-13 10:29:14
【问题描述】:

我正在创建一个小型网络应用程序。

在应用程序的一个网页中,部分页面是使用 ajax 更新的。 Ajax 将从服务器上的 java servlet 检索数据。

我是 ajax(和 javascript)的新手,我不了解其中的一些细节。

如果服务器发送响应的时间过长,我是否需要使用 xmlhttprequest.timeout?我了解有些浏览器不支持这个,所以不可靠吗?

ajax 在等待服务器响应时会消耗数据吗?如果服务器发送响应的时间过长并且用户正在使用具有数据限额限制的移动设备,我会问这个问题吗?

如果有任何帮助,我将不胜感激

编辑:我在后端服务器上使用 tomcat。如果请求/响应需要很长时间来处理,我如何告诉 tomcat 发送 408(服务器超时)?我知道我不能在 server.XML 中执行此操作,因为连接超时仅在服务器未收到请求或我错了?

【问题讨论】:

  • 欢迎来到 SO。请访问help center 以查看此处询问的内容和方式。提示:发布工作和代码
  • 也可以由您的后端管理...在 php 中定义一个时间,如果该过程在该时间之后仍未完成,则返回一些内容..并要求用户再试一次...
  • 如果可以使用jQuery(使用跨浏览器Ajax时推荐),看stackoverflow.com/questions/5225597/set-timeout-for-ajax-jquery
  • @DannyR 请给我们您的示例代码,这样更容易理解您的问题
  • 服务器只返回一个简单的文本(一个词)。这通常不会花费很长时间。我最关心的是,如果服务器挂起或需要很长时间来发送响应,用户设备会在等待时消耗大量数据还是在等待响应时不消耗数据。

标签: javascript ajax


【解决方案1】:

如果服务器发送响应的时间过长,我是否需要使用 xmlhttprequest.timeout?

没有。浏览器/网络堆栈的默认超时通常就足够了。

ajax 在等待服务器响应时会消耗数据吗?

这只是一个 HTTP 请求和响应。它不会比任何其他请求占用更多的带宽。如果由于服务器需要时间来响应而没有传输数据,那么就没有传输数据。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-12
    • 2019-06-25
    • 2017-07-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多