2011-07-14 45 views
0

我正在嘗試創建一個動態加載內容的Web應用程序。當我這樣做時,當然我想在本地進行開發,即本地主機。某些「功能」是一種形式,當發佈該表單時,將從服務器發送電子郵件。因爲我想訪問服務器電子郵件功能,所以我將該特定頁面鏈接到服務器。但問題是它沒有加載。將外部內容加載到本地主機上的服務器上

在我的腳本下面它的作品,但如果我改變了評論,所以我指向iandapp.com,比我只是空字符串。這是完全相同的頁面,只是將其複製到服務器。

$("#support").click(function() { 
    if(support_page==null){ 
     //$("#section2").load("http://www.iandapp.com/smic/subscription_2.php", function(data) { 
     $("#section2").load("subscription_2.php", function(data) { 
      support_page = data; 
     }); 
    } 

腳本位於主頁面(index.html),內容應該加載到id爲「section2」的div中。

我知道(support_page == null)是真的,因爲我在它停止的地方有一個斷點。

請讓我知道什麼是probelm,以及我如何解決它。我一直在努力工作數小時。

在此先感謝!

回答

0

谷歌約

cross domain ajax requests

。這在瀏覽器級別被禁用。有許多方法可以規避這一點,包括客戶端和服務器端。

0

使用.getJSON()而不是​​,這個method支持跨域請求。你需要確保你的PHP腳本做類似如下:

echo $_GET['callback'] . '(' . json_encode($results) . ')'; 

jQuery將因爲它要你「叫」回調函數,當你的腳本返回追加像?callback=callback0234請求的URL。所以,你的腳本的輸出可能是這個樣子:

callback0234('mydata': '<p>This is my data</p>') 
+0

謝謝,但它仍然無法正常工作。我更改爲$ .getJSON(「http://iandapp.com/smic/subscription_2.php」,函數(數據)並嘗試使用$。(#support「)。獲取」ReferenceError:數據未定義「。我的方式調用getJson不正確? – Nicsoft

+0

@nic我更新了答案,讓我知道是否有幫助。 –

0

什麼關於服務器的HTTP響應添加適量的標題,可讓跨域?

Access-Control-Allow-Credentials: true 
Access-Control-Allow-Origin: * 
Access-Control-Origin: * 
+0

謝謝!我試過這樣沒有成功: <?php header('Access-Control-Allow-Credentials:true ');> 隱而不宣實際上,我沒有看到螢火蟲中的標題,但它應該,不應該嗎? – Nicsoft

+0

是的,您應該在調用您的subscription_2.php時看到帶螢火蟲的標頭 – ChristopheCVB

+0

Access-Control-Allow-Origin的通配符值不適用於Access-Control-Allow-Credentials:true。請嘗試只添加Access-Control-Allow-Origin:*到頭部,看看它是否適合你。以下是有關標題的詳細說明:https://developer.mozilla.org/en-US/docs/HTTP/Access_control_CORS。 –

相關問題