Chrome扩展程序 - Access-Control-Allow-Origin不允许

时间:2014-09-07 15:13:17

标签: php jquery ajax google-chrome google-chrome-extension

我正在尝试创建Google Chrome扩展程序,但是当我提交表单时,出现以下错误:

XMLHttpRequest cannot load http://www.domain.com/?i=ajax No "Access-Control-Allow-Origin".

我已查看“权限”下的扩展程序列表,我看到我的网站列在那里。

这是我的 manifest.json

{
    "name": "My Extension",
    "version": "0.0.1",
    "manifest_version": 2,
    "browser_action": {
        "default_icon": {
            "19": "icons/19x19.png",
            "38": "icons/38x38.png"
        },
        "default_title": "Quick Dashboard",
        "default_popup": "popup.html"
    },
    "permissions": [
       "http://www.domain.com/"
     ]
}

这是 popup.html

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Untitled Document</title>
<script type="text/javascript" src="jquery.js"></script> 
<script src="main.js"></script>
    <form id="url" method="post">
    <label for="url">A bar</label>
    <input id="urlname" name="url" type="text" value="" />
    <input type="submit" value="Send" />
    </form> 
    <div id="result"></div>


</div>
</body>
</html>

ajax.php 文件:

if($_POST){

    die("success");

}

2 个答案:

答案 0 :(得分:1)

您的代码的实际问题是主机权限不正确。

应该是(注意星号):

"permissions": [
   "http://www.domain.com/*"
 ]

那就是说,Jay S.的答案也有效。

答案 1 :(得分:0)

在ajax.php中,添加

header("Access-Control-Allow-Origin : *")

到顶部。