JavaScript中的Access-Control-Allow-Origin错误

时间:2011-08-11 00:59:58

标签: javascript xmlhttprequest

我正在尝试将一些内容加载到我使用简单的Javascript书签浏览到的网站上。由于我希望任何人都可以使用它,而不仅仅是我,我发出一个get请求,它具有与bookmarklet相关联的唯一标识符,如下所示:

$.get("http://www.mysite.com/dothis.php?id=1234", {}, function(data) {
   $("body").append(data);
});

麻烦的是我得到了

XMLHttpRequest cannot load http://www.mysite.com/dothis.php?id=1234. Origin http://www.google.com is not allowed by Access-Control-Allow-Origin.

问题似乎是我可以识别请求(例如,dothis.php可以保存我向数据库发出get请求的事实)但是它不能将任何数据返回给请求者。这是有道理的,但它有什么办法吗? iFrames无法运行,因为我最终也需要对返回的数据采取行动。

谢谢!

1 个答案:

答案 0 :(得分:1)

在PHP脚本中,您可以允许来自每个网站的Access-Control-Allow-Origin。只需加上

<?php header("Access-Control-Allow-Origin: *"); ?>

到你的php文件的最开头。我没有测试过这个,但它应该可以工作。