別のサーバーへのFirefoxアドオン内でPOSTメソッドを実行する必要があります。さまざまな方法を使用しようとしていましたが、グーグルで調べた後、main.js内のSDKからRequestモジュールを使用する必要があることがわかりました。
私はFirefox v23を使用しています
chromeモジュールを使ってみた
var xmlhttp = chrome.Cc["@mozilla.org/xmlextras/xmlhttprequest;1"]
.createInstance(chrome.Ci.nsIXMLHttpRequest);
しかし、私はNS_ERROR_FAILUREを得ました。package.json に権限を追加しました
"permissions": {
"cross-domain-content": ["https:[some url]"]
}
しかし、それでも同じエラーが発生します。
次に Request モジュールを使用しましたが、これまでのところ機能しませんでした。Request モジュールで GET メソッドを試してみましたが、うまくいきました。ただし、POST メソッドは常に0ステータスと空の応答を返します。
ブラウザのhttpクライアントを介して同じリクエストを実行しようとしましたが、うまくいきました!! しかし、アドオン内のコードを通じて、常に 0 を返します。
リクエストはヘッダーを設定し、もちろんペイロードを持ちます。
var contentObject = {[Valid JSON Object]};
var myRequest = Request({
url: "https://[some url]",
headers: {
"pragma": "no-cache"
},
content: contentObject,
contentType: "application/json",
onComplete: function (response) {
console.log("Status: " + response.status);
console.log("Response json: " + JSON.stringify(response));
}
}).post();
あなたのサポートは高く評価されています。この問題についてインターネット上で見つけたリソースはほとんどなく、どれも私の問題を解決しませんでした。