简洁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 相关文章推荐
jQuery代码优化之基本事件
Nov 01 Javascript
js 单击式的下拉菜单效果实例
Aug 13 Javascript
整理的比较全的event对像在ie与firefox浏览器中的区别
Nov 25 Javascript
转换字符串为json对象的方法详解
Nov 29 Javascript
Lua表达式和控制结构学习笔记
Dec 15 Javascript
JavaScript设计模式学习之“类式继承”
Mar 12 Javascript
基于javascript实现九九乘法表
Mar 27 Javascript
设计模式中的组合模式在JavaScript程序构建中的使用
May 18 Javascript
JS实现登录页密码的显示和隐藏功能
Dec 06 Javascript
Vue2.0仿饿了么webapp单页面应用详细步骤
Jul 08 Javascript
jquery实现直播视频弹幕效果
Feb 25 jQuery
解决vue中的无限循环问题
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
php PDO中文乱码解决办法
2009/07/20 PHP
PHP实现根据浏览器跳转不同语言页面代码
2013/08/02 PHP
PHP 使用pcntl和libevent 实现Timer功能
2013/10/27 PHP
php获取、检查类名、函数名、方法名的函数方法
2015/06/25 PHP
ThinkPHP路由详解
2015/07/27 PHP
php观察者模式应用场景实例详解
2017/02/03 PHP
jquery imgareaselect 使用利用js与程序结合实现图片剪切
2009/07/30 Javascript
基于jQuery实现音乐播放试听列表
2016/04/14 Javascript
JavaScript中的call和apply的用途以及区别
2017/01/11 Javascript
JS常用倒计时代码实例总结
2017/02/07 Javascript
JS排序之快速排序详解
2017/04/08 Javascript
Vuex简单入门
2017/04/19 Javascript
vue实现商品加减计算总价的实例代码
2018/08/12 Javascript
vue elementui el-form rules动态验证的实例代码详解
2019/05/23 Javascript
vue学习笔记之Vue中css动画原理简单示例
2020/02/29 Javascript
js通过canvas生成图片缩略图
2020/10/02 Javascript
解决js中的setInterval清空定时器不管用问题
2020/11/17 Javascript
node.js通过Sequelize 连接MySQL的方法
2020/12/28 Javascript
python执行外部程序的常用方法小结
2015/03/21 Python
python 限制函数调用次数的实例讲解
2018/04/21 Python
基于Python pip用国内镜像下载的方法
2018/06/12 Python
pytorch numpy list类型之间的相互转换实例
2019/08/18 Python
Python 获取指定文件夹下的目录和文件的实现
2019/08/30 Python
pytorch的batch normalize使用详解
2020/01/15 Python
用pandas划分数据集实现训练集和测试集
2020/07/20 Python
NYX Professional Makeup俄罗斯官网:世界知名的化妆品品牌
2019/12/26 全球购物
学校七一活动方案
2014/01/19 职场文书
《问银河》教学反思
2014/02/19 职场文书
商场营业员岗位职责
2015/04/14 职场文书
2015年学校精神文明工作总结
2015/05/27 职场文书
2015年小学体育教师工作总结
2015/10/23 职场文书
践行三严三实心得体会(2016推荐篇)
2016/01/06 职场文书
《揠苗助长》教学反思
2016/02/20 职场文书
100句人生哲理语录集锦:强者征服今天,懒汉坐等明天
2019/10/18 职场文书
Nginx 匹配方式
2022/05/15 Servers
SpringBoot详解执行过程
2022/07/15 Java/Android