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


Posted in Javascript onNovember 15, 2013

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

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

使用方法:

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

该ajax文件代码:
// 改进版 _ar
function _ar2(s, target, feedback, param, methods){
 var url, method;
 var params = {};
 if( (s instanceof jQuery) && s.attr("tagName")=='VFORM') {
  url  = s.attr('action');
  method = s.attr('method');
  params = param || $('input, textarea, select',s).serialize();
 }else if( (s instanceof jQuery) && s.attr("tagName")=='FORM') {
  url  = s.attr('action');
  method = s.attr('method');
  params = param || s.serialize();
 }else if(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('no feedback');
     jQuery.jGrowl('服务器无返回信息.', {  header: '提示', theme: 'blue'});
     return;
    }
   }
   jQuery.jGrowl(data, {  header: '提示', theme: 'blue'});
  },
  error: function (e){
   var s = e.status;
   switch(s) {
    case 404:
     jQuery.jGrowl('请求的页面无法找到. 请联系系统管理员.', {  header: '提示', theme: 'blue'});
    break;
    case 500:
     jQuery.jGrowl('服务器错误[500]. 请联系系统管理员.', {  header: '提示', theme: 'blue'});
    break;
    default:
     //log('unknow error');
     lg(s);
     jQuery.jGrowl('未知错误. 请联系系统管理员.', {  header: '提示', theme: 'blue'});
   }
  }
 });
}

注意:jQuery.jGrowl是jquery的一个弹窗提示的插件,提示完成自动消失,用起来很方便,google一下就知道了。另外至于使用方法,返回数据是我们公司约定好的一个格式,方便使用而已。
Javascript 相关文章推荐
javascript 密码强弱度检测万能插件
Feb 25 Javascript
js中各浏览器中鼠标按键值的差异
Apr 07 Javascript
JavaScript模板入门介绍
Sep 26 Javascript
JS实现Enter键跳转及控件获得焦点
Aug 12 Javascript
使用jquery实现IE下按backspace相当于返回操作
Mar 18 Javascript
手机号码,密码正则验证
Sep 04 Javascript
JavaScript中的toDateString()方法使用详解
Jun 12 Javascript
Node.js程序中的本地文件操作用法小结
Mar 06 Javascript
十分钟带你快速了解React16新特性
Nov 10 Javascript
使用vue-router为每个路由配置各自的title
Jul 30 Javascript
在vue中v-bind使用三目运算符绑定class的实例
Sep 29 Javascript
Js图片点击切换轮播实现代码
Jul 27 Javascript
jquery submit ie6下失效的原因分析及解决方法
Nov 15 #Javascript
JavaScript?Apple设备检测示例代码
Nov 15 #Javascript
jquery放大镜效果超漂亮噢
Nov 15 #Javascript
JS获取IP、MAC和主机名的五种方法
Nov 14 #Javascript
javascript验证上传文件的类型限制必须为某些格式
Nov 14 #Javascript
js截取小数点后几位的写法
Nov 14 #Javascript
js 判断文件类型并控制表单提交示例代码
Nov 14 #Javascript
You might like
Could not load type System.ServiceModel.Activation.HttpModule解决办法
2012/12/29 PHP
浅析php中jsonp的跨域实例
2013/06/21 PHP
PHP防止图片盗用(盗链)的方法小结
2016/11/11 PHP
浅谈PHP中new self()和new static()的区别
2017/08/11 PHP
php数据序列化测试实例详解
2017/08/12 PHP
php实现微信分享朋友链接功能
2019/02/18 PHP
laravel框架模型和数据库基础操作实例详解
2020/01/25 PHP
tp5.1 框架数据库高级查询技巧实例总结
2020/05/25 PHP
Javascript模板技术
2007/04/27 Javascript
根据json字符串生成Html的一种方式
2013/01/09 Javascript
js调用webservice中的方法实现思路及代码
2013/02/25 Javascript
jquery遍历checkbox介绍
2014/02/21 Javascript
Javascript实现单例模式
2016/01/24 Javascript
JavaScript解八皇后问题的方法总结
2016/06/12 Javascript
jQuery给div,Span, a ,button, radio 赋值与取值
2016/06/24 Javascript
vue2.0中goods选购栏滚动算法的实现代码
2017/05/17 Javascript
vue基于两个计算属性实现选中和全选功能示例
2019/02/08 Javascript
JS实现从对象获取对象中单个键值的方法示例
2019/06/05 Javascript
详解Vue中CSS样式穿透问题
2019/09/12 Javascript
[02:41]DOTA2英雄基础教程 冥魂大帝
2014/01/16 DOTA
[02:34]DOTA2亚洲邀请赛 BG战队出场宣传片
2015/03/09 DOTA
给Python IDLE加上自动补全和历史功能
2014/11/30 Python
Python爬取国外天气预报网站的方法
2015/07/10 Python
Python实现PS图像调整颜色梯度效果示例
2018/01/25 Python
十分钟搞定pandas(入门教程)
2019/06/21 Python
Python实现线性插值和三次样条插值的示例代码
2019/11/13 Python
Python爬虫之Selenium实现窗口截图
2020/12/04 Python
美国当红的名品折扣网:Gilt Groupe
2016/08/15 全球购物
Jack Rogers官网:美国经典的女性鞋靴品牌
2019/09/04 全球购物
J2EE是技术还是平台还是框架
2016/08/14 面试题
国家励志奖学金个人先进事迹材料
2014/05/04 职场文书
地质工程专业毕业生求职信
2014/08/08 职场文书
终止或解除劳动合同及劳动关系的证明书
2014/10/06 职场文书
承诺书应该怎么写?
2019/09/10 职场文书
为什么 Nginx 比 Apache 更牛逼
2021/03/31 Servers
Mysql忘记密码解决方法
2022/02/12 MySQL