简洁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焦点的方法小结
Oct 08 Javascript
JS 用6N±1法求素数 实例教程
Oct 20 Javascript
JS 获取滚动条高度示例代码
Oct 24 Javascript
jquery序列化form表单使用ajax提交后处理返回的json数据
Mar 03 Javascript
Jquery方式获取iframe页面中的 Dom元素
May 07 Javascript
Vue父子模版传值及组件传值的三种方法
Nov 27 Javascript
vue导出html、word和pdf的实现代码
Jul 31 Javascript
Layer弹出层动态获取数据的方法
Aug 20 Javascript
解决Angular4项目部署到服务器上刷新404的问题
Aug 31 Javascript
基于Vue实现的多条件筛选功能的详解(类似京东和淘宝功能)
May 07 Javascript
微信小程序 自定义复选框实现代码实例
Sep 04 Javascript
js实现购物车商品数量加减
Sep 21 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
我的论坛源代码(九)
2006/10/09 PHP
一个严格的PHP Session会话超时时间设置方法
2014/06/10 PHP
PHP实现的敏感词过滤方法示例
2019/03/06 PHP
基于NodeJS的前后端分离的思考与实践(四)安全问题解决方案
2014/09/26 NodeJs
百度UEditor编辑器如何关闭抓取远程图片功能
2015/03/03 Javascript
js+css简单实现网页换肤效果
2015/12/29 Javascript
使用JavaScript为Kindeditor自定义按钮增加Audio标签
2016/03/18 Javascript
详解JavaScript中双等号引起的隐性类型转换
2016/05/30 Javascript
Js查找字符串中出现次数最多的字符及个数实例解析
2016/09/05 Javascript
微信小程序  Mustache语法详细介绍
2016/10/27 Javascript
BootStrap 实现各种样式的进度条效果
2016/12/07 Javascript
Bootstrap模态框(Modal)实现过渡效果
2017/03/17 Javascript
理解 javascript 中的函数表达式与函数声明
2017/07/07 Javascript
基于vue.js中事件修饰符.self的用法(详解)
2018/02/23 Javascript
vue结合axios与后端进行ajax交互的方法
2018/07/06 Javascript
解决vue-cli webpack打包后加载资源的路径问题
2018/09/25 Javascript
JS检索下拉列表框中被选项目的索引号(selectedIndex)
2019/12/17 Javascript
echarts.js 动态生成多个图表 使用vue封装组件操作
2020/07/19 Javascript
Vue + Element-ui的下拉框el-select获取额外参数详解
2020/08/14 Javascript
[02:49]DAC2018决赛日TOP5 LGD开启黑暗之门绝杀VP
2018/04/08 DOTA
python字符串中的单双引
2017/02/16 Python
在python中实现强制关闭线程的示例
2019/01/22 Python
python Selenium实现付费音乐批量下载的实现方法
2019/01/24 Python
python开发准备工作之配置虚拟环境(非常重要)
2019/02/11 Python
关于阿里云oss获取sts凭证 app直传 python的实例
2019/08/20 Python
python面向对象之类属性和类方法案例分析
2019/12/30 Python
详解Python中的Lock和Rlock
2021/01/26 Python
web页面录屏实现
2019/02/12 HTML / CSS
实习生自荐信范文分享
2013/11/27 职场文书
公司年会演讲稿范文
2014/01/11 职场文书
关于人生的感言
2014/01/17 职场文书
银行贷款承诺书
2014/03/29 职场文书
淘宝活动总结范文
2014/06/26 职场文书
大一新生期末自我评价
2014/09/12 职场文书
2014年机关作风建设工作总结
2014/10/23 职场文书
Python使用socket去实现TCP客户端和TCP服务端
2022/04/12 Python