我正在编写一个 Chrome 扩展程序,它需要从另一个站点加载一些数据。根据我的研究,我相信我应该为此使用 XMLHttpRequest,但它会为我尝试的每个站点返回 responseText="" 和 status=0。我传入 javascript 的 URL 很好;我试过了
http://www.google.com
和
http://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20yahoo.finance.quotes%20where%20symbol%20in%20(%22MSFT%22)&env=store://datatables.org/alltableswithkeys
.
我在做一些无知/愚蠢的事情吗?我相信这是清单中的权限,但我现在拥有的应该允许这两个站点。我在我的 javascript 控制台中看不到任何错误。
清单:
{
"manifest_version": 2,
"name": "nnnn",
"description": "nnnn",
"version": "1.0",
"browser_action": {
"default_icon": "icon.png",
"default_popup": "popup.html"
},
"permissions": [
"storage",
"http://*.query.yahooapis.com/*",
"http://*/*",
"https://*/*"
]
}
javascript函数:
function getSite(queryUrl) {
var request = new XMLHttpRequest();
request.open("GET", queryUrl, true);
console.log(queryUrl);
request.onreadystatechange = function () {
console.log(request);
if (request.readyState == 4) {
if (request.status == 200) {
console.log(request.responseText);
} else {
console.log('Unable to resolve address');
}
}
};
request.send(null);
}
编辑: http: //developer.chrome.com/extensions/xhr.html 这几乎是我一直在寻求指导的内容,但显然有些事情已经超出了我的脑海。