0

クロムエクステンションをビルドしようとしていますが、別のマシンにpingする必要があります。私が試したコードでは、httpsサイトのレスポンスヘッダーを読み取ることはできますが、http.IではありませんJavascriptの初心者です。どのような助けが素晴らしいだろう。私はそれがCORSの問題であり、クライアントのコードでヘッダーを設定しようとしたことを理解しています。私のフォーラムはそれをサーバー側に設定すると言いますが、以下のコードと、スナップショットのhttpsサイトから返されたプラグインのUIとレスポンスを確認してください。レスポンスヘッダーを読み取る際の問題

Code--

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()); 
} 
} 

おかげ

+0

対象サーバで[プリフライトリクエスト](http://stackoverflow.com/a/8689332/4361743)を処理する必要があります。 – karman

答えて

0

CORSは、確かにない要求サーバーの応答の一部です。だからあなたはあなたの側にそれを "設定"することはできません。

ただし、拡張機能はCORS制限をバイパスできます。make cross-origin requests。しかし、あなたは接続するドメインをin manifest permissionsにリストする必要があります。ユーザーは、インストール時に、それらのドメインとやり取りすることを警告されます。

例えば、関係なく、CORSのhttp://example.comhttps://example.comドメインへの要求を許可するように、あなたがマニフェストに含める必要があります。

"permissions" : [ 
    "*://example.com/" 
], 

あなたが内に接続する必要がありますどのサイトを言うことができない場合すべてのURLに対するアクセス許可(特別な許可、つまり"<all_urls>")が必要か、実行時に要求するためにOptional Permissionsを使用してください。

+0

うわー..助けてくれてありがとうございました。私はすでに ""をパーミッションの下でマニフェストに設定していましたが、動作していませんでしたが、オプションパーミッションの下でそれを設定することは私の仕事であり、警告もありませんでした。 –

+0

停止。思う。これは間違っています。 – Xan

+0

従来のアクセス許可は、オプションのアクセス許可よりも優先されます。一度許可されると、あなたのLOCALインストールはそれらを許可します - それはあなたのインストールでは動作しますが、あなたが再び拡張を削除して追加すると動作を停止します。 – Xan

関連する問題