[英]Issue with reading Response headers
我正在嘗試構建一個chrome擴展,我需要為此ping通到不同的計算機。我嘗試使用的代碼能夠讀取https站點的響應標頭,而不是http。我是Javascripting的新手。 任何幫助都將非常有用。我知道這是一個CORS問題,並嘗試在客戶端代碼中設置標頭。許多論壇都提到了在服務器端進行設置,但是在這種情況下我可以在哪里做呢? 請在快照中找到以下代碼以及從https站點返回的插件UI和響應。
碼 -
url="https://www.icicibank.com/";
//url = "www.rediff.com/";
ping = new XMLHttpRequest();
ping.open("get", url,true);
//ping.setRequestHeader("Access-Control-Allow-Origin","*");
// ping.setRequestHeader("Access-Control-Allow-Credentials", "true");
ping.send(null)
ping.onreadystatechange=function() {
if (ping.readyState==4) {
alert(ping.getAllResponseHeaders());
//alertify.alert(ping.getAllResponseHeaders());
}
}
謝謝
CORS實際上是服務器響應的一部分, 而不是請求。 因此,您無法將其“設置”在自己的身邊。
但是,擴展名可以繞過CORS限制並發出跨域請求 。 但是為此,您需要以清單權限列出要連接的域。 在安裝時會警告用戶,您將與這些域進行交互。
例如,要允許對http://example.com
和https://example.com
域的請求而不考慮CORS,您需要在清單中包括:
"permissions" : [
"*://example.com/"
],
如果您無法預先確定需要連接到哪些站點,則您將需要所有URL的權限(特殊權限,字面意義為"<all_urls>"
),或者使用可選權限在運行時進行請求。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.