gpt4 book ai didi

javascript - 在 Chrome 扩展中从 JavaScript 调用网站 API 时出现跨域错误

转载 作者:数据小太阳 更新时间:2023-10-29 05:59:01 26 4
gpt4 key购买 nike

我正在开发一个小型 Chrome 扩展程序,它将调用 Remember the Milk API。谷歌有一个 good example使用 Flikr API,我将其用作扩展的基础。他们的示例在我的浏览器(Linux 上的最新 Chrome)中完美运行。

但是,当我换出 Remember the Milk API 方法名称和 API key 时,出现以下错误:

XMLHttpRequest cannot load http://api.rememberthemilk.com/services/rest/?method=rtm.test.echo&api_key=xxxxxxxxxxxxxxxxxxxxxx&name=Test%20task. 
Origin chrome-extension://lifnmciajdfhj is not allowed by Access-Control-Allow-Origin.

我的代码是这样的:

    var req = new XMLHttpRequest();
req.open(
"GET",
"http://api.rememberthemilk.com/services/rest/?" +
"method=rtm.test.echo&" +
"api_key=xxxxxxxxxxxxxxxxxxxxxxxxxx&" +
"name=Test%20task",
true);
req.onload = onResponseReceived;
req.send(null);

function onResponseReceived() {
console.log("It worked.");
}

有什么建议吗?

最佳答案

并且...像往常一样,在此处发布后的几分钟内解决了。问题是 manifest.json 文件,该文件最初具有 Flikr API 权限。我已将它们更新为指向 Remember the Milk,但显然您需要卸载并重新安装扩展程序才能重新注册权限。

Google 有一个很好的处理 XHR in extensions 的教程.

这是更新后的 manifest.json。也许它会对其他人有所帮助。

    {
"name": "Remember the Milk",
"version": "1.0",
"description": "A Remember the Milk extension.",
"browser_action": {
"default_icon": "rtm.png",
"popup": "popup.html"
},
"permissions": [
"http://*.rememberthemilk.com/",
"https://*.rememberthemilk.com/"
]
}

关于javascript - 在 Chrome 扩展中从 JavaScript 调用网站 API 时出现跨域错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8570521/

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