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

Rya*_*yan 1 javascript permissions ajax google-chrome-extension

在我的清单文件中,我对此扩展程序(虽然可能只是我的经验不足)有一个轻微的混乱问题:

"permissions": [
    "http://mafre.com/","http://eee.se/","http://ilaafire.net/","notifications","tabs"
Run Code Online (Sandbox Code Playgroud)

我正在使用此代码发送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);
 }
Run Code Online (Sandbox Code Playgroud)

另一方面,我的脚本正在获取数据...但是当我需要获得响应时,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.
Run Code Online (Sandbox Code Playgroud)

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

我应该回到我的页面的回复是"收到电子邮件,谢谢!1"

谢谢!

pim*_*vdb 6

我相信你应该是通配符权限URL,也是www.一个不同的域:

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

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

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

"notifications",
"tabs"
Run Code Online (Sandbox Code Playgroud)

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