我有一个chrome扩展程序,该扩展程序调用一个网站,然后从中提取一些数据。一直都能正常工作,但是突然我得到了如下代码的共振状态400:
main.js:
var request = new XMLHttpRequest;
request.open("GET", "https://www.mydomain.de/mypage.hml", true);
request.addEventListener('load', function (event) {
if (request.status == 200) {
giftUrl = extractData(request.response);
}
else
console.log("request state " + request.status);
});
request.send(null);
当我将URL复制到浏览器中时,页面显示没有问题。如果浏览器可以显示网址,那么进入状态400的原因可能是什么?
我的清单:
"content_scripts": [
{
"matches": [
"http://*.mydomain.de/*",
"https://*.mydomain.de/*"
],
"js": [ "MyScript.js" ],
"run_at": "document_end"
}
],
"background": {
"scripts": [ "jQuery.js", "main.js" ],
"persistent": false
},
"permissions": [
"https://*.mydomain.de/",
"alarms",
"cookies",
"tabs",
"unlimitedStorage",
"http://*/*",
"https://*/*"
]
的
答案 0 :(得分:0)
您需要请求跨源许可 https://developer.chrome.com/extensions/xhr
通过将主机或主机匹配模式(或两者)添加到清单文件的权限部分,该扩展程序可以请求访问其来源之外的远程服务器。
{
"name": "My extension",
...
"permissions": [
"https://www.google.com/"
],
...
}