jQuery的load函数
Posted by Kevin | Filed under HTML/CSS/JS | 2010-09-25
jquery的load函数,有2种载入方式,一种是GET,一种是POST,下面我们看下手册中记载的说明。
在每一个匹配元素的load事件中绑定一个处理函数。
如果绑定给window对象,则会在所有内容加载后触发,包括窗口,框架,对象和图像。如果绑定在元素上,则当元素的内容加载完毕后触发。
注意:只有当在这个元素完全加载完之前绑定load的处理函数,才会在他加载完后触发。如果之后再绑定就永远不会触发了。所以不要在$(document).ready()里绑定load事件,因为jQuery会在所有DOM加载完成后再绑定load事件。
再来看下关于jQuery的函数介绍
- load(url, [data], [callback])
- url String 待装入 HTML 网页网址。
- data (可选) Map,String 发送至服务器的 key/value 数据。在jQuery 1.3中也可以接受一个字符串了。
- callback (可选) Callback 载入成功时回调函数。
data数据是可选取的,如果不填写data数据,jQuery则采用GET方式来请求指定的网页,如果填写了,则采用POST方式,同时将参数data传递给页面。
下面看下jQuery 1.4.2里面关于load函数原型的代码:
- load: function( url, params, callback ) {
- if ( typeof url !== "string" ) {
- return _load.call( this, url );
- // Don't do a request if no elements are being requested
- } else if ( !this.length ) {
- return this;
- }
- var off = url.indexOf(" ");
- if ( off >= 0 ) {
- var selector = url.slice(off, url.length);
- url = url.slice(0, off);
- }
- //默认为使用GET方式请求页面
- var type = "GET";
- // 如果有data参数,检测是否为函数
- if ( params ) {
- // If it's a function
- if ( jQuery.isFunction( params ) ) {
- // We assume that it's the callback
- callback = params;
- params = null;
- // 不是函数,则构建成一个字符串
- } else if ( typeof params === "object" ) {
- params = jQuery.param( params, jQuery.ajaxSettings.traditional );
- //使用POST方式传递参数
- type = "POST";
- }
- }
也就是我们在处理url页面时,含data参数的时候,比如:ID=1233,USERID=liupeng 我们应该使用$_POST变量来接受,没有data参数的时候使用$_GET。




