【问题标题】:Get current page http status from javascript从 javascript 获取当前页面的 http 状态
【发布时间】:2023-03-25 03:36:01
【问题描述】:

有没有办法从javascript中获取当前网页的http状态?

花了一些时间在网上搜索,但一点运气都没有...似乎不可能,但想与 Stack Overflow 核实一下也许有一些奇特的解决方法。

(从服务器提供它作为响应正文的一部分是不可接受的,该状态应该只能通过 http 标头获得)

【问题讨论】:

  • 好吧,鉴于你的 JS 已经执行完毕,我想 http 响应代码是 200 OK?
  • @AndreasGrapentin 这只是众多可能性之一
  • @AndreasGrapentin 您可以使用一些特殊的 javascript 自定义 404 页面..
  • 304 也是让 javascript 运行的可接受状态码
  • 哇。我不知道。无论如何,我认为这是 stackoverflow.com/questions/837064/… 的副本

标签: javascript http


【解决方案1】:

这是不可能的,抱歉。

【讨论】:

  • 是否有某种原因不存在为此的 API?这是一个安全问题吗?
【解决方案2】:

它不漂亮,但你可以使用:

t = jQuery.get(location.href)
    .success(function () { console.log(t.status) })
    .error(function()    { console.log(t.status) });

【讨论】:

  • 不正确:此代码发出新请求,它没有获取当前在浏览器中加载的页面状态。截至 2018 年,任何页面都无法获取当前加载的 HTML 页面的错误状态。
【解决方案3】:

您只能检查页面加载的状态 尝试:var x = document.readyState; x 的结果可能是: 五个值之一:

uninitialized - Has not started loading yet
loading - Is loading
loaded - Has been loaded
interactive - Has loaded enough and the user can interact with it
complete - Fully loaded

【讨论】:

  • document.readyState指的是文档的加载状态,而不是页面的HTTP状态。
猜你喜欢
  • 2013-09-04
  • 2012-12-04
  • 1970-01-01
  • 2017-06-25
  • 1970-01-01
  • 1970-01-01
  • 2011-06-17
  • 1970-01-01
相关资源
最近更新 更多