我正在尝试使用XHR在Chrome扩展程序中从Yahoo获取天气信息:
$.ajax({
url: "https://weather.yahooapis.com/forecastrss?w=" + 250226 + "&u=c",
dataType: 'xml',
success: function(data) {
console.log(data);
}
});
我已经使用这个脚本请求了跨域权限:
$("button").click(function(){
chrome.permissions.request({
origins: ['*://weather.yahooapis.com/*']
}, function(granted) {
if (granted) {
console.log("Success creating permission."); //successful
} else {
console.log("Not successful.");
}
});
不过,它仍然给我一个错误提示:
XMLHttpRequest无法加载http://weather.yahooapis.com/forecastrss?w=2502265&u=c。 来源chrome-extension:// randomid未被Access-Control-Allow-Origin允许。
我想不出任何原因为什么会发生这种情况。有什么建议吗?
权限
而不是来源
。 - ta.speot.isorigins
的,因为只有权限列表可以放在permissions
中。即使我删除了*
,它仍然无法工作。 :( - Derek 朕會功夫http://weather.yahooapis.com/
(不带*
)吗? - Passerbychrome.permissions.contains
来查看我是否实际上拥有该权限,但它返回了false
。在仔细检查我的代码后,我发现我已经忘记在我已经拥有的不同权限之间放置"
。我真是太傻了。现在它可以正常工作了。 - Derek 朕會功夫