简洁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 相关文章推荐
JQueryEasyUI datagrid框架的基本使用
Apr 08 Javascript
JavaScript-RegExp对象只能使用一次问题解决方法
Jun 23 Javascript
JS中的form.submit()不能提交表单的错误原因
Oct 08 Javascript
详解AngularJS的通信机制
Jun 18 Javascript
JavaScript实现横线提示输入验证码随输入验证码输入消失的方法
Sep 24 Javascript
Bootstrap基本样式学习笔记之按钮(4)
Dec 07 Javascript
JS实现的五级联动菜单效果完整实例
Feb 23 Javascript
jQuery+CSS3实现点赞功能
Mar 13 Javascript
基于jQuery Easyui实现登陆框界面
Jul 10 jQuery
javascript与PHP动态往类中添加方法对比
Mar 21 Javascript
vue实现多条件和模糊搜索功能
May 28 Javascript
vue实现路由监听和参数监听
Oct 29 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文件上传简单实现方法
2015/01/24 PHP
PHP实现批量清空删除指定文件夹所有内容的方法
2017/05/30 PHP
关于php支持的协议与封装协议总结(推荐)
2017/11/17 PHP
在phpstudy集成环境下的nginx服务器下配置url重写
2019/12/02 PHP
Cookie跨域问题解决方案代码示例
2020/11/24 PHP
使用onbeforeunload属性后的副作用
2007/03/08 Javascript
经常用到的JavasScript事件的翻译
2007/04/09 Javascript
Jquery iframe内部出滚动条
2010/02/11 Javascript
分析Node.js connect ECONNREFUSED错误
2013/04/09 Javascript
关于jquery中全局函数each使用介绍
2013/12/10 Javascript
jquery获取URL中参数解决中文乱码问题的两种方法
2013/12/18 Javascript
Javascript中的Array数组对象详谈
2014/03/03 Javascript
jQuery实现瀑布流布局
2014/12/12 Javascript
jQuery获取父元素节点、子元素节点及兄弟元素节点的方法
2016/04/14 Javascript
jQuery实现的鼠标经过时变宽的效果(附demo源码)
2016/04/28 Javascript
js中遍历对象的属性和值的方法
2016/07/27 Javascript
react.js 获取真实的DOM节点实例(必看)
2017/04/17 Javascript
Vue的Class与Style绑定的方法
2017/09/01 Javascript
python将一组数分成每3个一组的实例
2018/11/14 Python
详解pandas删除缺失数据(pd.dropna()方法)
2019/06/25 Python
蛋白质世界:Protein World
2017/11/23 全球购物
ETO男装官方网店:ETO Jeans
2019/02/28 全球购物
超市营业员求职简历的自我评价
2013/10/17 职场文书
寄语十八大感言
2014/02/07 职场文书
《美丽的小路》教学反思
2014/02/26 职场文书
大学生创业项目方案
2014/03/08 职场文书
白血病募捐倡议书
2014/05/14 职场文书
党员学习中共十八大报告思想汇报
2014/09/15 职场文书
2014年作风建设心得体会
2014/10/22 职场文书
2014年连锁店圣诞节活动方案
2014/12/09 职场文书
运动会加油稿30字
2015/07/21 职场文书
任命书格式模板
2015/09/22 职场文书
生鲜超市—未来中国最具有潜力零售业态
2019/08/02 职场文书
八年级作文之一起的走过日子
2019/09/17 职场文书
Pytest中skip和skipif的具体使用方法
2021/06/30 Python
详细介绍Next.js脚手架完整搭建封装
2022/04/26 Javascript