2012-08-12 127 views
1

請幫我弄清楚我錯過了什麼。JQuery .load()不會加載html

這是我的HTML名爲 「test.html的」

<div id="div-test"> 
lalalalaal 
    <ul> 
     <li>Hi</li> 
     <li>By</li> 
    </ul> 
</div> 

這就是在同一目錄下另一個HTML文件中,包含此:

<div id="result"></div> 
<script type="text/javascript"> 
$(function() { 
    $("#result").load("test.html"); 
}); 
</script> 

但它不會加載任何東西。

然而,這工作得很好:

<div id="result"></div> 
<script type="text/javascript"> 
$(function() { 
    $("#result").html("i see this text"); 
}); 
</script> 
+3

您不能在本地運行ajax,它可以在服務器上運行,也可以使用腳本標記注入 – 2012-08-12 15:32:26

+2

您的瀏覽器的JavaScript錯誤控制檯告訴您什麼? – 2012-08-12 15:33:37

+0

控制檯,不顯示任何錯誤....我試圖按照本傑明的答案,並在我的服務器 – Vor 2012-08-12 15:36:06

回答

2

當我需要定期加載數據,我只是創建一個函數來動態加載,所以我可以調用它,當我需要時,或頁面加載完成

<html> 
    <head> 
     <script src="//ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js" type="text/javascript"></script> 
     <script> 
      function loadContent(divName,pageURL) { 
       $("#" + divName).load(pageURL); 
      } 
      $(document).ready(function() { 
       loadContent('createArea','create_login.php'); 
      }); 
     </script> 
    </head> 
    <body> 
     <div style="float:left;width:500px;min-width:500px;min-height:200px;"> 
      <div id="createArea" name="createArea"></div> 
     </div> 
    </body> 
</html> 

如下文所述,這不會在本地,除非你正在運行一個WAMP服務器上執行。如果您正在加載的文件的路徑與該代碼的頁面不在同一目錄中,則它們可能需要是相對路徑。

+1

作出某些功能,如其他人所指出的,這將不會在本地執行,除非你有一個WAMP/Web服務器或類似的東西,並且可能需要將相對路徑檢查爲kleinohad節目。 – Silvertiger 2012-08-12 15:43:01

0

如果您使用Chrome或IE9,儘量監控XHR網絡電話,看看有什麼 真正發生。在Chrome,你監控F12 XHR調用由

  1. 點擊
  2. 點擊網絡按鈕
  3. 點擊XHR標籤在控制檯的最底部。
  4. 打開控制檯,執行代碼不起作用的頁面,並檢查是否存在實際的數據交換。

希望它可以幫助

0

試試這個:

<div id="result"></div> 
<script type="text/javascript"> 
$(function() { 
    $("#result").load("/test.html"); // add "/" 
}); 
</script> 
相關問題