我正在尝试在 Chrome 扩展程序中使用 AJAX 请求加载数据。据我了解,使用Chrome扩展程序时,只要设置适当的权限,就可以发出AJAX请求,而不必担心同源策略。
但是在设置正确的权限后(至少我认为我做到了),我仍然收到错误:
XMLHttpRequest cannot load https://stackoverflow.com/posts/popup/close/9498103. Origin chrome-extension://bcbifciedokdgkokbbfippkbecnkpclj is not allowed by Access-Control-Allow-Origin.
我的权限(在我的manifest.json文件中设置)是this project的一部分您可能还需要查看其他代码:
"permissions": [
"http://stackoverflow.com",
"https://stackoverflow.com",
"http://*.stackoverflow.com",
"https://*.stackoverflow.com"
]
我错过了什么还是根本不可能?
最佳答案
仅提及主机是不够的,您必须在每个域后面添加 /*
。
"permissions": [
"https://stackoverflow.com/*",
"https://stackoverflow.com/*",
"http://*.stackoverflow.com/*",
"https://*.stackoverflow.com/*"
]
可以在以下答案中找到现成的跨域 XHR 演示:Cross-domain XMLHttpRequest using background pages
关于javascript - 使用 AJAX 加载数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9548706/