gpt4 book ai didi

javascript - 来自 Chrome 扩展的跨源 XMLHttpRequest 返回状态 0

转载 作者:行者123 更新时间:2023-11-28 16:06:50 24 4
gpt4 key购买 nike

我正在编写一个 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

我在做一些无知/愚蠢的事情吗?我相信它具有 list 中的权限,但我现在拥有的应该允许这两个网站。我在 JavaScript 控制台中没有看到任何错误。

list :

{
"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这几乎是我一直遵循的指导,但显然有些事情超出了我的理解。

最佳答案

我不认为这是与权限相关的问题。如果是,控制台中将会出现一条错误消息,提示权限问题。我认为您的 XMLHttpRequest 有问题。确保您传递给函数的 queryUrl 是正确的。

您可以使用Fiddler检查您的请求有什么问题。

关于javascript - 来自 Chrome 扩展的跨源 XMLHttpRequest 返回状态 0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14551200/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com