How to detect HTTP status from JavaScript

后端 未结 4 1743
没有蜡笔的小新
没有蜡笔的小新 2020-12-25 14:59

I want to detect in a script, which could be deployed beyond my control, whether the page was delivered with a HTTP status of 200, 404 or 500 etc.

This can\'t be don

相关标签:
4条回答
  • 2020-12-25 15:22

    Page A can be a Javascript that loads page B via AJAX and displays it with document.write or in a pop up window or however.

    In such a strategy, you can check return code for success/failure in the AJAX handler and send different things to the output window depending on status.

    Most Ajax libraries provide a way to examine the return code....

    See for instance "transport.status" with Ajax.Request in Prototype.js

    0 讨论(0)
  • 2020-12-25 15:34

    Have the page make a XMLHttpRequest to itself (using location.href or document.URL) and check the HTTP status you get. Seems to be pretty portable way to me. Why you would do a thing like this is beyond my understanding though ;)

    0 讨论(0)
  • 2020-12-25 15:37

    Why does the javascript need to know this? Sounds like it would make more sense just to embed it on a custom 404 page. No need to detect HTTP status of the parent page (I don't think it's possible - maybe doing an ajax call to itself after each load, but that's just silly). if the code is being executed, its guaranteed to be a 404

    0 讨论(0)
  • 2020-12-25 15:38

    I recently found how to do it (credits to : hunlock)

    AJAX.getAllResponseHeaders() -- returns as a string all current headers in use. AJAX.getResponseHeader("headerLabel") -- returns value of the requested header.

    0 讨论(0)
提交回复
热议问题