我有兩個文件,domain.com/test2.php:爲什麼不設置document.domain工作以允許AJAX請求到父域?
<div id="testDiv"></div>
<script src="http://domain.com/packages/jquery.js"></script>
<script>$("#testDiv").load("http://domain.com/test3.php", {var1:1, var2:2});</script>
和domain.com/test3.php:
<b>var1: <?php echo $var1; ?> , var2: <?php echo $var2; ?></b>
在這種情況下domain.com/test2.php輸出 var1: 1 , var2: 2
正如人們所期望的那樣,但現在讓我們說我想在子域中創建一個test2.php。要停止與跨域腳本的問題,我想這額外的行添加到sub.domain.com/test2.php開始:
<script>document.domain = "domain.com";</script>
這額外的行停止從顯示出來的跨域錯誤,但現在該文件不再輸出var1: 1 , var2: 2
。爲什麼是這個,我該如何解決這個問題?
你能看到的請求,你的子域在網絡日誌中的開發工具中顯示嗎?它看起來是否成功並返回了您預期的響應? – 2013-03-28 05:59:11
@MartinAtkins請求以紅色顯示,狀態爲「(已取消)」。 – 2013-03-28 17:56:25