我需要在另一个服务器的firefox插件中执行POST方法,我一直在尝试使用不同的方法,并且在Google搜索后发现我应该使用请求来自我的main.js中的SDK模块。Firefox addon sdk请求模块带有效负载的POST方法
我用firefox v 23
我尝试使用铬模块
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模块的GET方法,它工作正常。但是POST方法总是返回一个空状态和一个空响应。
我尝试通过浏览器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();
您的支持是非常感谢。我在互联网上发现的关于这个问题的资源非常少,他们中没有一个解决了我的问题。
我也试过,并没有工作。我也尝试了一个GET请求,并没有工作。我怀疑它可能与SSL证书有关。如果您了解有关如何使用Firefox附加组件中的证书详细信息设置SSL证书的任何资源,请告诉我 – Tork