1

Chrome拡張機能をビルドしました。読み込み時に、サーバーにGETリクエストを行う必要があります(現在はlocalhostから試してみる必要があります)。Chrome拡張機能からHTTP GETリクエストを作成する

Chromeデバッガを使用すると、呼び出しが行われたことがわかりますが、実行中のロカホストサーバーでは受信されません。

Javascriptコード:私はそれがうまく機能し、ブラウザ上で直接http://localhost:8080/myproject/api/getInfo?userId=meを置く場合

Request URL:http://localhost:8080/myproject/api/getInfo?userId=me 
Request Headers 
Provisional headers are shown 
Accept:*/* 
Origin:chrome-extension://ginkmpnhbepolafnopjackbgefh 
Query String Parameters 
view source 
view URL encoded 
userId:me 

$.get("http://localhost:8080/myproject/api/getInfo", { userId: "me" }) 
    .done(function(data) { 
    alert('Received!'); 
}); 

これは、私はクロームデバッガから見ることができるものです。

どうしたのですか?

+2

あなたの内線が[正しい権限](https://developer.chrome.com/extensions/xhr)を要求していますか? – robertklep

答えて

0

私が持っていた問題は、ブラウザがHTTP://localhostに(プラグインが表示されていた)HTTPSサイトからの呼び出しをブロックしたということでした。

サーバーのURLがHTTPSのプロダクションにデプロイしたときに動作を開始しました。

1

上記のコードで何が問題なのか分かりませんが、以下のコードを使ってAJAX XMLHttpRequestクロム拡張スクリプトでオブジェクトを作成したのと同じことがわかりました。

var userid="me"; 
 
var xmlHttpRequest = (window.XMLHttpRequest) ? new window.XMLHttpRequest() : new ActiveXObject('Microsoft.XMLHTTP'); 
 
xmlHttpRequest.open("GET","http://localhost:8080/myproject/api/getInfo",true); 
 
xmlHttpRequest.send("userid="+userid); 
 
xmlHttpRequest.onreadystatechange = function() 
 
{ 
 
\t if(xmlHttpRequest.readyState == XMLHttpRequest.DONE) 
 
\t { 
 
\t \t alert('Received!'); 
 
\t } 
 
}

関連する問題