简洁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 相关文章推荐
tagName的使用,留一笔
Jun 26 Javascript
jquery实现的代替传统checkbox样式插件
Jun 19 Javascript
JavaScript实现跑马灯抽奖活动实例代码解析与优化(二)
Feb 16 Javascript
CascadeView级联组件实现思路详解(分离思想和单链表)
Apr 12 Javascript
vue2.0中click点击当前li实现动态切换class
Jun 21 Javascript
jQuery实现可兼容IE6的淡入淡出效果告警提示功能示例
Sep 20 jQuery
jQuery使用zTree插件实现可拖拽的树示例
Sep 23 jQuery
IntelliJ IDEA 安装vue开发插件的方法
Nov 21 Javascript
Bootbox将后台JSON数据填充Form表单的实例代码
Sep 10 Javascript
ElementUI多个子组件表单的校验管理实现
Nov 07 Javascript
js实现上传图片并显示图片名称
Dec 18 Javascript
微信小程序上传帖子的实例代码(含有文字图片的微信验证)
Jul 11 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
php去除换行符的方法小结(PHP_EOL变量的使用)
2013/02/16 PHP
php下载excel无法打开的解决方法
2013/12/24 PHP
PHP实现绘制3D扇形统计图及图片缩放实例
2014/10/01 PHP
在php和MySql中计算时间差的方法详解
2015/03/27 PHP
js 图片轮播(5张图片)
2008/12/30 Javascript
jquery实现的元素的left增加N像素 鼠标移开会慢慢的移动到原来的位置
2010/03/21 Javascript
JavaScript 保存数组到Cookie的代码
2010/04/14 Javascript
php对mongodb的扩展(小试牛刀)
2012/11/11 Javascript
JQuery插件Marquee.js实现无缝滚动效果
2016/04/26 Javascript
基于bootstrap实现收缩导航条
2017/03/17 Javascript
AngularJS 中ui-view传参的实例详解
2017/08/25 Javascript
浅谈React Native 中组件的生命周期
2017/09/08 Javascript
详解React Native 采用Fetch方式发送跨域POST请求
2017/11/15 Javascript
10个在JavaScript开发中常遇到的BUG
2017/12/18 Javascript
小程序绑定用户方案优化小结
2019/05/15 Javascript
[52:09]2014 DOTA2华西杯精英邀请赛 5 25 NewBee VS DK第二场
2014/05/26 DOTA
[01:37]全新的一集《真视界》——TI7总决赛
2017/09/21 DOTA
python文件读写并使用mysql批量插入示例分享(python操作mysql)
2014/02/17 Python
python函数式编程学习之yield表达式形式详解
2018/03/25 Python
利用python打开摄像头及颜色检测方法
2018/08/03 Python
Python判断一个list中是否包含另一个list全部元素的方法分析
2018/12/24 Python
Python获取Redis所有Key以及内容的方法
2019/02/19 Python
Python2和Python3的共存和切换使用
2019/04/12 Python
Python简单实现词云图代码及步骤解析
2020/06/04 Python
基于python调用jenkins-cli实现快速发布
2020/08/14 Python
PyCharm 2020.2.2 x64 下载并安装的详细教程
2020/10/15 Python
高中军训感言1000字
2014/03/01 职场文书
共产党员公开承诺书范文
2014/03/28 职场文书
面试自我评价范文
2014/09/17 职场文书
甜品蛋糕店创业计划书
2014/09/21 职场文书
国际政治学专业推荐信
2014/09/26 职场文书
2014年化验员工作总结
2014/11/18 职场文书
2014年公司工作总结
2014/11/22 职场文书
2014年小学教导处工作总结
2014/12/19 职场文书
新闻稿件写作范文
2015/07/18 职场文书
先进基层党组织主要事迹材料
2015/11/03 职场文书