简洁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 相关文章推荐
取得传值的函数
Oct 27 Javascript
Extjs学习笔记之四 工具栏和菜单
Jan 07 Javascript
html中的input标签的checked属性jquery判断代码
Sep 19 Javascript
Javascript 鼠标移动上去 滑块跟随效果代码分享
Nov 23 Javascript
JavaScript中的document.referrer在各种浏览器测试结果
Jul 18 Javascript
JavaScript中九种常用排序算法
Sep 02 Javascript
jQuery简单实现图片预加载
Apr 20 Javascript
angular1配合gulp和bower的使用教程
Jan 19 Javascript
Egg.js 中 AJax 上传文件获取参数的方法
Oct 10 Javascript
jQuery插件实现非常实用的tab栏切换功能【案例】
Feb 18 jQuery
一文读懂vue动态属性数据绑定(v-bind指令)
Jul 20 Javascript
vue3.0 的 Composition API 的使用示例
Oct 26 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
咖啡与水的关系
2021/03/03 冲泡冲煮
PHP sprintf() 函数的应用(定义和用法)
2012/06/29 PHP
总结一些PHP中好用但又容易忽略的小知识
2017/06/02 PHP
Laravel中validation验证 返回中文提示 全局设置的方法
2019/09/29 PHP
jQuery操作cookie方法实例教程
2014/11/25 Javascript
jquery取消事件冒泡的三种方法(推荐)
2016/05/28 Javascript
Javascript 普通函数和构造函数的区别
2016/11/05 Javascript
js date 格式化
2017/02/15 Javascript
浅析node Async异步处理模块用例分析及常用方法介绍
2017/11/17 Javascript
vue实现图片加载完成前的loading组件方法
2018/02/05 Javascript
使用iView Upload 组件实现手动上传图片的示例代码
2018/10/01 Javascript
Vue表单输入绑定的示例代码
2018/11/01 Javascript
JavaScript基于数组实现的栈与队列操作示例
2018/12/22 Javascript
Vue 通过公共字段,拼接两个对象数组的实例
2019/11/07 Javascript
[52:02]DOTA2-DPC中国联赛 正赛 Phoenix vs Dragon BO3 第二场 2月26日
2021/03/11 DOTA
Python跳出循环语句continue与break的区别
2014/08/25 Python
优化Python代码使其加快作用域内的查找
2015/03/30 Python
简单介绍Python中用于求最小值的min()方法
2015/05/15 Python
使用Python神器对付12306变态验证码
2016/01/05 Python
Python实现的文本简单可逆加密算法示例
2017/05/18 Python
Python更新数据库脚本两种方法及对比介绍
2017/07/27 Python
python list转矩阵的实例讲解
2018/08/04 Python
Python父目录、子目录的相互调用方法
2019/02/16 Python
python中的socket实现ftp客户端和服务器收发文件及md5加密文件
2020/04/01 Python
Python 字典中的所有方法及用法
2020/06/10 Python
Python实现列表索引批量删除的5种方法
2020/11/16 Python
CSS3关于z-index不生效问题的解决
2020/02/19 HTML / CSS
Rodd & Gunn澳大利亚官网:新西兰男装品牌
2018/09/25 全球购物
优秀班集体获奖感言
2014/02/03 职场文书
公证委托书大全
2014/04/04 职场文书
阅兵口号
2014/06/19 职场文书
大学生党员批评与自我批评
2014/09/28 职场文书
2014年合同管理工作总结
2014/12/02 职场文书
国庆节慰问信
2015/02/15 职场文书
公司财务部岗位职责
2015/04/14 职场文书
MySQL学习之基础操作总结
2022/03/19 MySQL