Javascript,Chrome扩展程序开发,XMLHttpRequest Access-Control-Allow-Origin问题

时间:2011-07-15 14:51:15

标签: javascript ajax permissions google-chrome-extension

这个扩展程序有一个稍微混乱的问题(尽管可能只是我的经验不足) 在我的清单文件中,我有:

"permissions": [
    "http://mafre.com/","http://eee.se/","http://ilaafire.net/","notifications","tabs"

我正在使用此代码发送XML请求:

var http = false;
    http = new XMLHttpRequest();

function replace() 
{


            http.open("GET", "http://www.mafre.com/proj/test.php"+getquerystring(), true);
            http.onreadystatechange=function() 
            {

            if(http.readyState < 4) {show_wait_gif();}
                else if(http.readyState == 4) 
                {
                    updatepage( http.responseText);

                }
            }
          http.send(null);
 }

我的另一端脚本正在获取数据......但是当我需要获得响应时,Chrome会抛出此错误:

XMLHttpRequest cannot load http://www.mafre.com/proj/test.php?w=rn@ee.se. Origin 
chrome-extension://kjggpdimdloblnddfbnodggchjpalihb is not allowed by Access-Control-Allow-Origin.

为什么?我已经允许它与域进行交互,所以为什么即使它发送查询也无法获得响应?

我应该回到我的页面的回复类似于“接受电子邮件,谢谢!1”

谢谢!

1 个答案:

答案 0 :(得分:6)

我认为您应该使用通配符权限网址,www.也是一个不同的域名:

"http://mafre.com/*",
"http://www.mafre.com/*",

"http://eee.se/*",
"http://www.eee.se/*",

"http://ilaafire.net/*",
"http://www.ilaafire.net/*",

"notifications",
"tabs"

目前,您只能访问http://mafre.com/