作者uyjhmn (拜託爆個氣)
看板Ajax
標題[問題] XMLHttpRequest()取得https開頭的網頁
時間Tue Oct 20 22:35:22 2015
不好意思各位大大
小弟是新手中的新手
有爬過文,但是實在找不出方法
所以特來這邊求解
<script>
var http = new XMLHttpRequest();
var url = "https:XXX.XXXXXX.XXX";
http.open("GET", url);
alert(http.readyState);
http.onreadystatechange = function() {
if(http.readyState == 4 && http.status == 200) {
alert("OK");
}else{alert("fail")}
}
http.send(null);
</script>
如果那個https:XXX.XXXXXX.XXX是可以讀取的
那最後應該可以顯示OK
可是只要是https就不行,是否是憑證下載問題
如果是,那要怎麼解?
有沒有大大可以解救小弟
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 118.163.170.73
※ 文章網址: https://www.ptt.cc/bbs/Ajax/M.1445351725.A.4BE.html
→ TonyQ: CORS 問題吧? 對方有允許你存取嗎?用開發者工具 10/21 06:57
→ TonyQ: 看看網路tab 中那個連線的訊息是什麼。 10/21 06:57
→ uyjhmn: 用chorme打開那段網址是有回應的,可是用XHR得到的readysta 10/21 09:19
→ uyjhmn: tus的值卻是1,然後就結束了,status居然是0,讓我很好奇 10/21 09:20
→ uyjhmn: 可是小弟是新新手,所以也不太清楚狀況怎樣,跟JSONP有關? 10/21 09:21
→ uyjhmn: 用curl出來的結果是200 10/21 13:47
推 jokester: 開發者工具的responae header那邊可以抓個圖嗎? 10/23 20:29
推 jackiechin: https不是問題,重點是同源政策。 11/01 19:53
推 jackiechin: 請改用JSONP, 或在伺服器上開啟跨網域Request 11/01 19:58