看板 Ajax 關於我們 聯絡資訊
功能需求是要去一一檢查特定的網址,當中如果有網站掛掉的話會通報管理者 目前的想法是用迴圈的方式將網址代入iframe,但不知道有甚麼方法可以取得iframe內網站伺服器的狀態 請問JavaScript有辦法做到這樣的功能嗎?還是說必須用其他的工具才能達成這個功能呢? -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 220.133.229.31 ※ 文章網址: https://www.ptt.cc/bbs/Ajax/M.1488435152.A.F95.html
LPH66: XMLHttpRequest 送出去→等 readystate >= 2→查 .status 03/02 14:22
LPH66: 這應該可行... 03/02 14:23
LPH66: 這個 status 值是 HTTP status code (200, 404 之類的東西) 03/02 14:23
謝謝,因為還是初學者不知道怎麼下關鍵字 理論上是不是只要向該網址發出請求也不用特意將網頁內容顯示呢? ※ 編輯: gn00386614 (220.133.229.31), 03/02/2017 14:27:47
LPH66: 這其實是最基本的 ajax 套路, 關鍵字就是 XMLHttpRequest 03/02 22:49
LPH66: readyState 2 表示收到 HTTP header 了, 大致上就能判斷 03/02 22:50
LPH66: 你要查詢的東西; 一般你去找的資源多半會說 readyState 4 03/02 22:51
LPH66: 那是代表他需要內容所以才要到 4 才能操作 03/02 22:51
LPH66: 而你只是要檢查網站是否正常回應, 這樣 2 就足以判斷了 03/02 22:51
jmlntw: 要注意跨網域(CORS)的問題 03/02 22:57
再次感謝,昨天爬了一下午的文,目前跨域問題仍無法解決,使用的環境是tomcat8.5 照網路上去設置Access-Control-Allow-Origin的filter還是沒辦法只靠前端來取得HTTP的回應 難道非要搭配後端不可嗎? ※ 編輯: gn00386614 (220.133.229.31), 03/03/2017 09:33:14
ssccg: Access-Control-Allow-Origin是你要連的那些網站要設喔 03/03 09:47
mrbigmouth: 取巧的辦法是在目標server上擺一隻js檔 內容是將某個 03/03 13:23
mrbigmouth: 廣域變數設為某個值 然後setInterval不斷載入該scrip 03/03 13:24
mrbigmouth: t 只要確認該廣域變數的值有被改變就代表server沒問 03/03 13:24
mrbigmouth: 題 沒被改變就代表server down了 03/03 13:24
mrbigmouth: 這其實也算是jsonp的應用(?) 03/03 13:25
TETZ: ifrma不能access不同domain的東西但我記得可以用postMessage 03/04 12:27
TETZ: 但是要請對方加 03/04 12:27
TETZ: *iframe 03/04 12:28
z0991100238: 最近看到有es6標準可用的fetch 做這個比xhr寫定義感 03/05 00:28
z0991100238: 覺快多了 03/05 00:28
z0991100238: 跨網域問題chrome有plugin可以試試看 03/05 00:29
lolikung: 有跨網域問題的話可以改用 Img 03/10 19:27
lolikung: 然後判斷圖片有無正常載回 03/10 19:28