无法从Chrome扩展程序连接到localhost

Jer*_*emy 14 google-app-engine localhost google-chrome-extension

我正在制作跟踪时间的Chrome扩展程序,并使用Google App Engine作为后端.

为了测试,我正在尝试将本地版本的扩展连接到App Engine应用程序的本地版本.当我尝试发送POST请求时,我得到:

XMLHttpRequest cannot load http://localhost:8080/report. Origin chrome-extension://mbndmimplohfkkcincjodnfpaapbbmei is not allowed by Access-Control-Allow-Origin.

但是当我更改URL以便它发布到appspot.com URL时它可以工作.

什么是Access-Control-Allow-Origin,为什么阻止我从localhost获取结果?

smf*_*ote 25

我相信这是因为您无法调用未包含在清单的权限部分中的服务器.manifest.json的权限部分应如下所示:

"permissions": [
    "http://myapp.appspot.com/*",
    "http://localhost/*"
]
Run Code Online (Sandbox Code Playgroud)

请注意,我没有对此进行过测试,但听起来这就是问题的来源.


Ste*_*ush 7

可以使用自定义端口。

清单文件

"permissions": ["http://localhost/*"]
Run Code Online (Sandbox Code Playgroud)

background.js(使用 jQuery)

$.post('http://localhost:5000/some-endpoint');
Run Code Online (Sandbox Code Playgroud)