[问题] JS有办法得知连结的服务器状态吗?

楼主: gn00386614 (EXSA)   2017-03-02 14:12:29
功能需求是要去一一检查特定的网址,当中如果有网站挂掉的话会通报管理者
目前的想法是用循环的方式将网址代入iframe,但不知道有什么方法可以取得iframe内网站服务器的状态
请问JavaScript有办法做到这样的功能吗?还是说必须用其他的工具才能达成这个功能呢?
作者: LPH66 (-6.2598534e+18f)   2017-03-02 14:22:00
XMLHttpRequest 送出去→等 readystate >= 2→查 .status这应该可行...这个 status 值是 HTTP status code (200, 404 之类的东西)这其实是最基本的 ajax 套路, 关键字就是 XMLHttpRequestreadyState 2 表示收到 HTTP header 了, 大致上就能判断你要查询的东西; 一般你去找的资源多半会说 readyState 4那是代表他需要内容所以才要到 4 才能操作而你只是要检查网站是否正常回应, 这样 2 就足以判断了
作者: jmlntw (吉米林)   2017-03-02 22:57:00
要注意跨网域(CORS)的问题
作者: ssccg (23)   2017-03-03 09:47:00
Access-Control-Allow-Origin是你要连的那些网站要设喔
作者: mrbigmouth (大嘴先生)   2017-03-03 13:23:00
取巧的办法是在目标server上摆一只js档 内容是将某个广域变量设为某个值 然后setInterval不断加载该script 只要确认该广域变量的值有被改变就代表server没问题 没被改变就代表server down了这其实也算是jsonp的应用(?)
作者: TETZ (你今天宅了吗?)   2017-03-04 12:27:00
ifrma不能access不同domain的东西但我记得可以用postMessage但是要请对方加*iframe
作者: z0991100238 (天漪)   2017-03-05 00:28:00
最近看到有es6标准可用的fetch 做这个比xhr写定义感觉快多了跨网域问题chrome有plugin可以试试看
作者: lolikung (干么查我?)   2017-03-10 19:27:00
有跨网域问题的话可以改用 Img然后判断图片有无正常载回

Links booklink

Contact Us: admin [ a t ] ucptt.com