2011-11-02 138 views
-1

我只是最近纔開始使用jQuery,而且大部分都沒有問題。我剛開始考慮使用Ajax調用,並立即遇到了絆腳石。爲了說明我的問題,我已經寫了一小塊的演示代碼...jQuery加載不起作用

<html> 
    <head> 
     <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.4/jquery.min.js" type="text/javascript"></script> 
     <script type="text/javascript"> 
      $(function() { 
       $.get("http://www.google.co.uk", function(data) { 
        alert(data); 
       }, "html"); 
      }); 
     </script> 
     <style> 
      #page 
      { 
       border:1px solid black; 
       width:640px; 
       height:480px; 
      } 
     </style> 
    </head> 
    <body> 
     <div id="page"></div> 
    </body> 
</html> 

正如你可以看到,頁面加載,然後它應該加載URL的內容(在這種情況下,谷歌)到只有頁面上的div,但它不起作用。

使用的開發工具在Chrome中我可以看到該請求被髮送,但它被標記爲「取消」(是的,用1升!)

我會很感激有人幫助我必須是一個什麼非常簡單的問題。正如我所說,這實際上是我第一次嘗試這樣做。卡住我通常需要更長的時間!

在此先感謝您的任何建議:)

回答

3

我想這是一個安全問題。您無法將另一臺服務器的頁面加載到文檔中。有關更多信息,請參閱http://api.jquery.com/load/

+0

Thanks @MassivePenguin。在過去有跨域問題的問題之後,我懷疑過類似的情況。 – Archer

2

其因SAME ORIGIN POLICY

替代方法

使服務器端代理,已將其請求的頁面和發送通過JSON響應到客戶端或選擇的首選格式

OR

Using YQL as a proxy for cross-domain Ajax

+0

感謝您的建議@ 3nigma。這對我並不重要,所以我不需要上述內容,但我相信,因爲它在這裏會幫助其他人。 – Archer

1

要加載外部鏈路中的 「.load()」

創建頁面說external.php

在external.php把下面的代碼:

<?php $url = 'http://ur/url/here'; echo $var = get_file_contents($url);?> 

現在加載這個頁面中的jQueryñ它會加載外部鏈接

$( '格' ).load( 'external.php');

+1

謝謝謝法利 - 這是一個簡單的解決方案。我爲此使用了.Net,並最終編寫了一個代理來獲取我傳遞給它的任何url,所以類似的解決方案。看到這樣一個古老的問題很有趣。我現在不能相信我需要幫助! :d – Archer