jQuery - AJAX load() 方法

jQuery load() 方法

load() 方法從伺服器載入數據,並把傳回的資料放入被選元素中。

語法:

$(selector).load(URL,data,callback);

必要的 URL 參數規定您想要載入的URL。

可選的 data 參數規定與請求一同傳送的查詢字串鍵/值對集合。

可選的 callback 參數是 load() 方法完成後所執行的函數名稱。

這是範例檔案("demo_test.txt")的內容:

<h2>jQuery AJAX 是个非常棒的功能!</h2>
<p id="p1">这是段落的一些文本。</p>


把檔案"demo_test.txt" 的內容載入到指定的<div> 元素中:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>php中文网(php.cn)</title>
<script src="http://libs.baidu.com/jquery/1.10.2/jquery.min.js">
</script>
<script>
$(document).ready(function(){
    $("button").click(function(){
         $("#div1").load("/try/ajax/demo_test.txt");
    });
});
</script>
</head>
<body>
    <div id="div1"><h2>使用 jQuery AJAX 修改文本内容</h2></div>
    <button>获取外部内容</button>
</body>
</html>

也可以把jQuery 選擇器加入到URL 參數。

範例把"demo_test.txt" 檔案中id="p1" 的元素的內容,載入到指定的<div> 元素中:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<script src="http://libs.baidu.com/jquery/1.10.2/jquery.min.js">
</script>
<script>
    $(document).ready(function(){
      $("button").click(function(){
        $("#div1").load("/try/ajax/demo_test.txt #p1");
      });
    });
</script>
</head>
<body>
    <div id="div1"><h2>使用 jQuery AJAX 修改文本</h2></div>
    <button>获取外部文本</button>
</body>
</html>

可選的callback 參數規定當load() 方法完成後所要允許的回呼函數。回呼函數可以設定不同的參數:

responseTxt - 包含呼叫成功時的結果內容

statusTXT - 包含呼叫的狀態

xhr - 包含XMLHttpRequest 物件

xhr - 包含XMLHttpRequest 物件

#下面的範例會在load() 方法完成後顯示一個提示框。如果load() 方法已成功,則顯示"外部內容載入成功!",而如果失敗,則顯示錯誤訊息:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<script src="http://libs.baidu.com/jquery/1.10.2/jquery.min.js">
</script>
<script>
$(document).ready(function(){
  $("button").click(function(){
    $("#div1").load("/try/ajax/demo_test.txt",function(responseTxt,statusTxt,xhr){
      if(statusTxt=="success")
        alert("外部内容加载成功!");
      if(statusTxt=="error")
        alert("Error: "+xhr.status+": "+xhr.statusText);
    });
  });
});
</script>
</head>
<body>
    <div id="div1"><h2>使用 jQuery AJAX 修改该文本</h2></div>
    <button>获取外部内容</button>
</body>
</html>

完整實例:

先建立一個text.html檔案:

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <title>php中文网(php.cn)</title>
  </head>
  <body>
      <div class="comment">
        已有评论:
      </div>
      <div class="comment">
        <h6>张三:</h6>
        <p class="para">沙发。</p>
      </div>
      <div class="comment">
        <h6>李四:</h6>
        <p class="para">板凳。</p>
      </div>
      <div class="comment">
        <h6>王五:</h6>
        <p class="para">地板。</p>
      </div>
  </body>
</html>


在建立另一個HTML檔案(名稱可以隨意取)寫入jQuery AJAX   load() 方法:

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>php中文网(php.cn)</title>
    <script src="http://libs.baidu.com/jquery/1.10.2/jquery.min.js"></script>
    <script type="text/javascript">
        $(document).ready(function(){
            $("#send").click(function(){
                $("#resText").load("text.html");  //引入text.html文件。
            });
        });
    </script>
</head>
<body>
    <input type="button" id="send" value="Ajax获取" />
    <div id="resText"></div>
</body>
</html>
########
繼續學習
||
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>php中文网(php.cn)</title> <script src="http://libs.baidu.com/jquery/1.10.2/jquery.min.js"></script> <script type="text/javascript"> $(document).ready(function(){ $("#send").click(function(){ $("#resText").load("text.html"); //引入text.html文件。 }); }); </script> </head> <body> <input type="button" id="send" value="Ajax获取" /> <div id="resText"></div> </body> </html>