/**
* 在jquery对象上扩展一个loadex方法,实现可以同步加载服务器数据
* 使用示例:
* $("#head").loadex("inc/header.html",null,null,false);
* $("#foot").loadex("inc/footer.html",null,null,false);
* */
jQuery.fn.loadex=function(_url,data,callback,_async){
var loader = this;//这里的this就是上面示例中的"#head"
//构造发送数据选项
var sendOptions = {
type:"GET",
url:_url,
dataType:"html"
};
if (data){
sendOptions.data = data;
}
//如果没有传递异步值那么默认为异步
if(!_async){
_async = true;
}
//设置是否异步
sendOptions.async=_async;
//设置回调函数
sendOptions.success=function(html){
loader.html(html);
if (callback){//如果传递了有效的回调函数则回调
callback(html);
}
}
$.ajax(sendOptions);//发送请求
}
//jQuery命名空间上扩展方法(静态方式)
jQuery.extend({
//获得文本字节长度
getByteCounts:function(str){
if(!str || str == "")
return -1;
return jQuery.trim(str).replace(/[^\x00-\xff]/g,"**").length;
}
});
第一种通过对象$("***").loadex(xx,xxx,xxx,xxx)调用。
第二种通过$.getByteCounts(str)的方式调用。