2012-04-18 129 views
0

我有我的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 

两个方式隔开domains..although都是相同的网站。使用不同的网址。 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

我已将您的问题中的域名更改为“example.com”。 SO是不适合发誓的,而域名本身并不是问题的核心。 – 2012-04-18 09:08:01

+1

你不是已经问过这个问题吗? http://stackoverflow.com/questions/10205288/div-doesnt-load-with-jquery – 2012-04-18 09:08:21

+0

非常真实的Crowder ..我在一个色情公司工作..我该怎么办? – 2012-04-18 10:42:47

回答

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预检请求等。

1

设置页眉()在inc_appdl_main.php允许跨起源请求

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