拡張機能で使用されている Web ワーカーから POST メソッドで非同期リクエストを作成しようとしています。問題は、それが私にはうまくいかないということです。サーバー側では、$_POST 変数のデータをリッスンする PHP スクリプトがあります。サーバーへの接続を確立し、URL (GET) でデータを渡すこともできますが、$_POST は常に空です。
Web ワーカーで使用している最新のコードは次のとおりです。
var serviceUrl = "http://localhost/pfm/service/index.php";
var invocation = new XMLHttpRequest();
if(invocation){
invocation.open('POST', serviceUrl, true);
invocation.setRequestHeader('X-PINGOTHER', 'pingpong');
invocation.setRequestHeader('Content-Type', 'text/plain');
invocation.onreadystatechange = function(){processResponse(invocation);};
invocation.send("action=init");
}
(問題が同じオリジン ポリシーであると考えたときに、MDN Web サイトから借用)
これに先立って、私はかなり明白で途方もなく単純なものを使用していました:
var serviceUrl = "http://localhost/pfm/service/index.php";
var xhr = new XMLHttpRequest();
xhr.open("POST", serviceUrl, true);
xhr.onreadystatechange = function(){processResponse(receiptStoreRequest);};
xhr.send("action=init");
この場合、リクエストもパスしましたが、$_POST はまだ空でした。
POST リクエストが Web ワーカーで許可されていない可能性はありますか?
現在、すべてが localhost でテストされています。