2012-04-18 111 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: *');