简洁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 相关文章推荐
心扬JS分页函数代码
Sep 10 Javascript
jquery中的mouseleave和mouseout的区别 模仿下拉框效果
Feb 07 Javascript
jQuery中$.fn的用法示例介绍
Nov 05 Javascript
原生js和jquery中有关透明度设置的相关问题
Jan 08 Javascript
JS获取随机数函数可自定义最小值最大值
May 08 Javascript
angularjs的一些优化小技巧
Dec 06 Javascript
jQuery实现拖拽效果插件的方法
Mar 23 Javascript
JavaScript编写推箱子游戏
Jul 07 Javascript
微信小程序使用modal组件弹出对话框功能示例
Nov 29 Javascript
laydate时间日历插件使用方法详解
Nov 14 Javascript
js+html5 canvas实现ps钢笔抠图
Apr 28 Javascript
javascript面向对象三大特征之多态实例详解
Jul 24 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
特详细的PHPMYADMIN简明安装教程
2008/08/01 PHP
TMDPHP 模板引擎使用教程
2012/03/13 PHP
深入掌握include_once与require_once的区别
2013/06/17 PHP
yii2 resetful 授权验证详解
2017/05/18 PHP
PHP实现递归的三种方法
2020/07/04 PHP
文本框input聚焦失焦样式实现代码
2012/10/12 Javascript
判断日期是否能跨月查询的js代码
2014/07/25 Javascript
JQuery判断checkbox是否选中及其它复选框操作方法合集
2015/06/01 Javascript
javascript中if和switch,==和===详解
2015/07/30 Javascript
在AngularJS框架中处理数据建模的方式解析
2016/03/05 Javascript
vue制作加载更多功能的正确打开方式
2016/10/12 Javascript
JavaScript 数组的深度复制解析
2016/11/02 Javascript
bootstrap输入框组使用方法
2017/02/07 Javascript
Angular中的interceptors拦截器
2017/06/25 Javascript
ReactNative实现图片上传功能的示例代码
2017/07/11 Javascript
JavaScript输出所选择起始与结束日期的方法
2017/07/12 Javascript
JS实现点击循环切换显示内容的方法
2017/10/19 Javascript
webpack打包react项目的实现方法
2018/06/21 Javascript
Vue 实现把表单form数据 转化成json格式的数据
2019/10/29 Javascript
JavaScript判断浏览器版本的方法
2019/11/03 Javascript
python使用正则搜索字符串或文件中的浮点数代码实例
2014/07/11 Python
Python常见数据结构详解
2014/07/24 Python
跟老齐学Python之模块的加载
2014/10/24 Python
Python+Pika+RabbitMQ环境部署及实现工作队列的实例教程
2016/06/29 Python
Python列表list排列组合操作示例
2018/12/18 Python
利用python计算时间差(返回天数)
2019/09/07 Python
Python安装并操作redis实现流程详解
2020/10/13 Python
多视角3D可旋转的HTML5 Logo动画
2016/03/02 HTML / CSS
美国女士泳装店:Swimsuits For All
2017/03/02 全球购物
市场部经理岗位职责
2014/04/10 职场文书
创意婚礼策划方案
2014/05/18 职场文书
2014年人力资源部工作总结
2014/11/19 职场文书
2014年艾滋病防治工作总结
2014/12/10 职场文书
升学宴学生致辞
2015/07/27 职场文书
vue2实现provide inject传递响应式
2021/05/21 Vue.js
mysql 8.0.27 绿色解压版安装教程及配置方法
2022/04/20 MySQL