0

我是第一次编写 chrome 扩展程序。仔细阅读他们的文档,特别是权限部分。

我想从我的本地主机加载一个带有特定端口 ex 的 JSON 响应。3000。

我更新了我的 mainfest.json 和 persssion 部分就像

  "permissions": [
    "http://localhost:3000/*"
  ],

但是得到XMLHttpRequest cannot load http://localhost:3000/project/data.json Origin null is not allowed by Access-Control-Allow-Origin.

似乎我错过了一些东西。

我错过了什么?

4

2 回答 2

0

如果您的请求通过其他端口发送到同一主机,那么这已经是一个跨域请求(请参阅http://en.wikipedia.org/wiki/Same_origin_policy#Origin_determination_rules)。不允许跨域 ajax 请求。有两种解决方案:

  1. 使用 JSONP 请求。
  2. 向响应头添加一个选项:Access-Control-Allow-Origin: *但并非所有浏览器都支持此功能。

请参见:

于 2013-07-28T18:04:01.097 回答
0

您可以尝试以下任何一种解决方案:

  1. 将以下行添加到清单文件的末尾:

    "content_security_policy": "script-src 'self' http://localhost:3000; object-src 'self'"
    
  2. 而不是localhost,尝试使用地址代替,即127.0.0.1

希望能帮助到你。

于 2013-07-28T17:05:10.803 回答