首页 > 建站教程 > JS、jQ、TS >  jquery load方法用法详解正文

jquery load方法用法详解

jquery load是jquery ajax中的一种功能,load可以方便快速的直接加载一个页面到指定div中(html,php),并且它可以带参数,下面我来给大家详细介绍load方法用法.

格式

load(url,data,function(response,status,xhr))

如何使用data

1.加载一个php文件,该php文件不含传递参数

$("#myID").load("test.php");
//在id为#myID的元素里导入test.php运行后的结果

2. 加载一个php文件,该php文件含有一个传递参数
$("#myID").load("test.php",{"name" : "Adam"});

//导入的php文件含有一个传递参数,类似于:test.php?name=Adam

或者直接

$("#divResult").load("test.php?username=" + username + "&un="+$("#username").val()+"&timestamp=" + (new Date()).getTime()); 
发送参数时,必须对参数进行二次编码操作:
var username = encodeURI(encodeURI($("#username").val())); 

使用 AJAX 请求来改变 div 元素的文本:

$("button").click(function(){
  $("div").load('demo_ajax_load.txt');
});
如何使用 callback

比如我们要在load方法得到服务器响应后,慢慢地显示加载的内容,就可以使用callback函数。代码如下:

$("#go").click(function(){

  $("#myID").load("welcome.php", {"lname" : "Cai", "fname" : "Adam", function(){

    $("#myID").fadeIn('slow');}

  );

});
例子
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>jQuery load方法演示</title>
<style type="text/css">
 body{
  font-family:"Lucida Grande", "Lucida Sans Unicode", Verdana, Arial, Helvetica, sans-serif;
  font-size:12px;
 }
 a {color:#FD9602}
 a:hover{color:#6B9905}
 a:focus {outline: none;}
 .mybox{
  margin:50px auto 0;
  width:500px;
  padding:0px;
  text-align:left;
 } 
  code {
 background-color: #f9f9f9;
 }
 pre {
 padding: 5px;
 color: #000;
 background-color: #DDD;
 border: 1px solid #CCC;
 line-height: 1.1em;
 overflow: auto;
 }
  
</style>
<script type="text/javascript" src="/js/jquery.js"></script>
<script type="text/javascript">
 $( document ) . ready (
  function() {
    $('a.codeExample').each (
      function( i ) {
        $( this ).after( '<pre class="codeExample"></pre>' );
      }
    )
    $( 'pre.codeExample' ).hide();
    $('a.codeExample').toggle (
      function() {
    if( !this.old ){
      this.old = $(this).html();
    }
        $(this).html('隐藏代码');
        parseCode(this);
      },
      function() {
        $(this).html(this.old);
        $(this.nextSibling).hide();
      }
    )
    function parseCode(o){
      if(!o.nextSibling.hascode){
          $.get (o.href,
            function(code){
              code=code.replace(/&/mg,'&#38;');
              code=code.replace(/</mg,'&#60;');
              code=code.replace(/>/mg,'&#62;');
              code=code.replace(/"/mg,'&#34;');
              code=code.replace(/t/g,'  ');
              code=code.replace(/r?n/g,'<br>');
              code=code.replace(/<br><br>/g,'<br>');
              code=code.replace(/ /g,'&nbsp;');
              o.nextSibling.innerHTML=code;
              o.nextSibling.hascode=true;
            }
          );
      }
      $(o.nextSibling).show();
    }
  }
)
</script>
</head>  
<body> 
<div class="mybox">   
 <h1>jQuery load方法 演示</h1> 
姓:
<input type="text" style="color:#666" id="lastname" name="lastname" value="" />
<br /><br />
名:
<input type="text" style="color:#666" id="firstname" name="firstname" value="" /> 
<br /><br />
<button id="go">确定</button>
<div id="myID" style="display:none;"></div>

</div>

<script type="text/javascript">

$("#go").click(function(){
 $("#myID").load("welcome.php", {"lname" : $("#lastname").val(), "fname" : $("#firstname").val()}, function(){
   $("#myID").fadeIn('slow');}
  );
});

</script>
<div style="clear:both"></div> 
<div style="width:500px; margin: 20px auto 0; padding:10px; text-align:left;">
<a href="jquery-load-demo.html" class="codeExample">显示代码</a>
</div>
</body>
</html>
注意:只有当在这个元素完全加载完之前绑定load的处理函数,才会在他加载完后触发。如果之后再绑定就永远不会触发了。所以不要在$(document).ready()里绑定load事件,因为jQuery会在所有DOM加载完成后再绑定load事件