zl程序教程

您现在的位置是:首页 >  前端

当前栏目

简洁Ajax函数处理(示例代码)

AJAX代码 处理 函数 示例 简洁
2023-06-13 09:15:12 时间

以下是封装的一个处理函数,使用是也十分方便:

文件的名字命名为:jQuery.ajaxRequest.js.

使用方法:

复制代码代码如下:

$("._ajax").click(function(){
 _ajax.request(this);
  returnfalse; 
});

var_ajax={
     request:function(o){
            vartform=$(o).parents("form");
            _ar2(tform,"","_ajax._fb_request");
     },
     _fb._request:function(d){
        d=eval("("+unescape(d)+")");                                                                                               //提交状态提示。
  if(d.notification){
   if(d.type=="ok"){
    alert("提交成功");    
   }elseif(d.type=="error"){
    alert("提交失败");                                                                                                      
                }else{
    alert("错误");
   }
  }
 }
}


该ajax文件代码:
复制代码代码如下:

//改进版_ar
function_ar2(s,target,feedback,param,methods){
 varurl,method;
 varparams={};
 if((sinstanceofjQuery)&&s.attr("tagName")=="VFORM"){
  url  =s.attr("action");
  method =s.attr("method");
  params =param||$("input,textarea,select",s).serialize();
 }elseif((sinstanceofjQuery)&&s.attr("tagName")=="FORM"){
  url  =s.attr("action");
  method =s.attr("method");
  params =param||s.serialize();
 }elseif(typeof(s)=="string"){
  url  =s; //http://...
 }

 url =url||"";
 method=method||methods||"GET";
 params=param?param:params;
 jQuery.ajax({
  type:method,url:url,data:params,
  beforeSend:function(){
   //jQuery.jGrowl("数据读取中请稍候..",{ header:"提示",theme:"blue"});
  },
  success:function(data){
   //data=jQuery.trim(data).replace(/[\n\t\r]/gi,"");
   if(feedback){
    eval(feedback+"(\""+escape(data)+"\")");
    return;
   }else{
    if(data){
     if(target){
      jQuery(target).html(data);
      jQuery.jGrowl("页面请求完毕.",{ header:"提示",theme:"green","life":100});
      return;
     }
    }else{
     lg("nofeedback");
     jQuery.jGrowl("服务器无返回信息.",{ header:"提示",theme:"blue"});
     return;
    }
   }
   jQuery.jGrowl(data,{ header:"提示",theme:"blue"});
  },
  error:function(e){
   vars=e.status;
   switch(s){
    case404:
     jQuery.jGrowl("请求的页面无法找到.请联系系统管理员.",{ header:"提示",theme:"blue"});
    break;
    case500:
     jQuery.jGrowl("服务器错误[500].请联系系统管理员.",{ header:"提示",theme:"blue"});
    break;
    default:
     //log("unknowerror");
     lg(s);
     jQuery.jGrowl("未知错误.请联系系统管理员.",{ header:"提示",theme:"blue"});
   }
  }
 });
}


注意:jQuery.jGrowl是jquery的一个弹窗提示的插件,提示完成自动消失,用起来很方便,google一下就知道了。另外至于使用方法,返回数据是我们公司约定好的一个格式,方便使用而已。