简洁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 相关文章推荐
最简单的js图片切换效果实现代码
Sep 24 Javascript
再谈javascript面向对象编程
Mar 18 Javascript
js实现的点击div区域外隐藏div区域
Jun 30 Javascript
javascript实现限制上传文件大小
Feb 06 Javascript
JS上传图片前实现图片预览效果的方法
Mar 02 Javascript
javascript中Date()函数在各浏览器中的显示效果
Jun 18 Javascript
JS实现文档加载完成后执行代码
Jul 09 Javascript
js实现拖拽功能
Mar 01 Javascript
Vue的百度地图插件尝试使用
Sep 06 Javascript
postman+json+springmvc测试批量添加实例
Mar 31 Javascript
vue动态绘制四分之三圆环图效果
Sep 03 Javascript
深入理解 TypeScript Reflect Metadata
Dec 12 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日期函数date格式化UNIX时间的方法
2015/03/19 PHP
PHP中file_exists使用中遇到的问题小结
2016/04/05 PHP
JS类库Bindows1.3中的内存释放方式分析
2007/03/08 Javascript
jquery全选/全不选/反选另一种实现方法(配合原生js)
2013/04/07 Javascript
javascript中对Attr(dom中属性)的操作示例讲解
2013/12/02 Javascript
通过XMLHttpRequest和jQuery实现ajax的几种方式
2015/08/28 Javascript
jQuery代码实现图片墙自动+手动淡入淡出切换效果
2016/05/09 Javascript
在html中引入外部js文件,并调用带参函数的方法
2016/10/31 Javascript
详解nodejs微信公众号开发——4.自动回复各种消息
2017/04/11 NodeJs
nodejs调取微信收货地址的方法
2017/12/20 NodeJs
angularjs select 赋值 ng-options配置方法
2018/02/28 Javascript
自定义Vue组件打包、发布到npm及使用教程
2019/05/22 Javascript
ckeditor一键排版功能实现方法分析
2020/02/06 Javascript
如何利用nodejs自动定时发送邮件提醒(超实用)
2020/12/01 NodeJs
在Docker上开始部署Python应用的教程
2015/04/17 Python
python pandas中DataFrame类型数据操作函数的方法
2018/04/08 Python
Python中使用socks5设置全局代理的方法示例
2020/04/15 Python
Keras官方中文文档:性能评估Metrices详解
2020/06/15 Python
CSS3 实现时间轴动画
2020/11/25 HTML / CSS
戴尔马来西亚官网:Dell Malaysia
2020/05/02 全球购物
领先的荷兰线上超市:荷兰之家Holland at Home(支持中文)
2021/01/21 全球购物
JAVA程序员面试题
2012/10/03 面试题
中专药剂专业应届毕的自我评价
2013/12/27 职场文书
公务员平时考核实施方案
2014/03/11 职场文书
社区道德讲堂实施方案
2014/03/21 职场文书
企业党员公开承诺书
2014/03/26 职场文书
大学开学计划书
2014/04/30 职场文书
广播体操比赛口号
2014/06/10 职场文书
销售口号大全
2014/06/11 职场文书
创建文明城市标语
2014/06/16 职场文书
社保委托书怎么写
2014/08/02 职场文书
班级出游活动计划书
2014/08/15 职场文书
入股合作协议书
2014/10/12 职场文书
优秀教师个人总结
2015/02/11 职场文书
学校社团活动总结
2015/05/07 职场文书
Vue组件化(ref,props, mixin,.插件)详解
2022/05/15 Vue.js