简洁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 遍历验证所有文本框的值
Aug 27 Javascript
javascript游戏开发之《三国志曹操传》零部件开发(二)人物行走的实现
Jan 23 Javascript
JQuery报错Uncaught TypeError: Illegal invocation的处理方法
Mar 13 Javascript
Javascript的动态增加类的实现方法
Oct 20 Javascript
简单实现jquery焦点图
Dec 12 Javascript
Node.js  事件循环详解及实例
Aug 06 Javascript
元素全屏的设置与监听实例
Nov 28 Javascript
Angular 4.x+Ionic3踩坑之Ionic3.x pop反向传值详解
Mar 13 Javascript
微信小程序MUI侧滑导航菜单示例(Popup弹出式,左侧不动,右侧滑动)
Jan 23 Javascript
vue指令之表单控件绑定v-model v-model与v-bind结合使用
Apr 17 Javascript
如何解决日期函数new Date()浏览器兼容性问题
Sep 11 Javascript
jQuery实现异步上传一个或多个文件
Aug 17 jQuery
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 默默经典版本
2009/08/04 PHP
php实现文件下载更能介绍
2012/11/23 PHP
PHP不用递归遍历目录下所有文件的代码
2014/07/04 PHP
php源码分析之DZX1.5随机数函数random用法
2015/06/17 PHP
浅谈php中的循环while、do...while、for、foreach四种循环
2016/11/05 PHP
PHP设计模式之装饰器模式实例详解
2018/02/07 PHP
基于JQuery 选择器使用说明介绍
2013/04/18 Javascript
js实现iPhone界面风格的单选框和复选框按钮实例
2015/08/18 Javascript
jquery+html5烂漫爱心表白动画代码分享
2015/08/24 Javascript
JavaScript实现点击单元格改变背景色的方法
2016/02/12 Javascript
详解操作虚拟dom模拟react视图渲染
2018/07/25 Javascript
JavaScript闭包原理与用法实例分析
2018/08/10 Javascript
vuejs选中当前样式active的实例
2018/08/22 Javascript
vue  directive定义全局和局部指令及指令简写
2018/11/20 Javascript
详解Vue中组件传值的多重实现方式
2019/08/16 Javascript
JS工厂模式开发实践案例分析
2019/10/17 Javascript
javascript设计模式 ? 命令模式原理与用法实例分析
2020/04/20 Javascript
Python中暂存上传图片的方法
2015/02/18 Python
pymongo实现控制mongodb中数字字段做加法的方法
2015/03/26 Python
Python回调函数用法实例详解
2015/07/02 Python
python3基于TCP实现CS架构文件传输
2018/07/28 Python
Python面向对象程序设计之类的定义与继承简单示例
2019/03/18 Python
python Django中models进行模糊查询的示例
2019/07/18 Python
解决python多行注释引发缩进错误的问题
2019/08/23 Python
Pytest mark使用实例及原理解析
2020/02/22 Python
5款实用的python 工具推荐
2020/10/13 Python
娇韵诗法国官网:Clarins法国
2019/01/29 全球购物
奥地利购买珠宝和手表网站:ELLA JUWELEN
2019/09/03 全球购物
网上常见的一份Linux面试题(多项选择部分)
2014/09/09 面试题
Python面试题:Python里面如何生成随机数
2015/03/12 面试题
珠宝的促销活动方案
2014/08/31 职场文书
离婚承诺书格式范文
2015/05/04 职场文书
培训讲师开场白
2015/06/01 职场文书
2015年乡镇组织委员工作总结
2015/10/23 职场文书
如何利用pygame实现打飞机小游戏
2021/05/30 Python
Python查找算法的实现 (线性、二分,分块、插值查找算法)
2022/04/24 Python