Chrome扩展程序中的AJAX请求失败,具有正确的清单权限?

Sha*_*awn 2 ajax jquery google-chrome google-chrome-extension

我正在编写Chrome扩展程序,它执行简单的ajax调用(基于此示例来自文档):

$.ajax({
    type: "GET",
    url: "http://www.flags.99k.org/getFlags.php"
}).done(function(response) {
    alert("SUCCESS: " + response);
}).fail(function(response) {
    alert("FAILURE: " + response);
});
Run Code Online (Sandbox Code Playgroud)

请求总是失败,因为警报显示:FAILURE: [object Object].
该URL有效:当我将http://www.flags.99k.org/getFlags.php放入我的地址栏时,我得到了这个:

[{"UID": "1", "Message": "Hello"}, {"UID": "2", "Message": "World"}, {"UID": "3", "Message": "Hello World"}]
Run Code Online (Sandbox Code Playgroud)

这是我的manifest.json扩展名.

{
  "name": "Hello World",
  "version": "1.0",
  "description": "The first extension that I made.",
  "browser_action": {
    "default_icon": "icon.png",
    "default_popup": "popup.html"
  },
  "permissions": [
      "http://www.flags.99k.org/"
  ]
}
Run Code Online (Sandbox Code Playgroud)

我使用Chromium 17.0.963.79(Developer Build 125985 Linux)Ubuntu 11.10.

Rob*_*b W 5

目前,只允许通过清单中的权限访问根目录.您必须在URI之后添加通配符到权限:

  "permissions": [
    "http://www.flags.99k.org/*"
  ]
Run Code Online (Sandbox Code Playgroud)

另请参见:匹配模式.

编辑:更新的代码不起作用,因为http://www.flags.99k.org/重定向到http://flags.99k.org/(没有www).所以,还要将此位置列入白名单:

  "permissions": [
    "http://flags.99k.org/*",
    "http://www.flags.99k.org/*"
  ]
Run Code Online (Sandbox Code Playgroud)