域,子域请求错误

时间:2012-04-18 09:02:36

标签: php jquery .htaccess iframe

我有我的iframe:

<iframe src="http://api.example.com/html/31" id="fa-iframe" scrolling="No" frameborder="0" style="height: 513px; width: 597px; "></iframe>

和这样的javascript:

$.get("/inc_appdl_main.php", { id=args },function(data) {});

网站为http://example.com ...

我想在我的目录inc_appdl_main.php。

中找到此文件

但是,当我提出请求时,互联网不允许我解释:

http://example.com  和

http://api.example.com

作为两个独立的域名......尽管两个网站都是相同的网站。 api只是get请求到达的文件夹。

我有两个选项可供我使用。 任一..

.get(" http://api.example.com/inc_appdl_main.php", { id=args },function(data) {});

这会给我“404”

 .get(" http://example.com/inc_appdl_main.php", { id=args },function(data) {});

这会给我一个我无法跨域发布的错误

虽然该网站是同一个网站,但网址却不同..我需要访问此文件..

inc_appdl_main which sits on the same root directory...is there a way?

2 个答案:

答案 0 :(得分:1)

在inc_appdl_main.php中设置header()以允许跨源请求

header('Access-Control-Allow-Origin: *');

答案 1 :(得分:1)

一些可能的解决方案:

  1. 配置您的服务器,以便它可以接受http://api.example.com/inc_appdl_main.php的请求,并将其作为http://example.com/inc_appdl_main.php"进行处理。这可能是最简单的,因为您可以控制服务器。

  2. 如果api.example.com的回复是HTML网页,请向其添加JavaScript以将document.domain设置为example.com

  3. 要求您的用户使用Cross-Origin Resource Sharing(CORS)compatible browser并在服务器上回复CORS预检请求等。