简洁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 组合form元素为json格式,asp.net反序列化
Jul 09 Javascript
JQuery通过Ajax提交表单并返回结果
Jul 31 Javascript
使用node.js 获取客户端信息代码分享
Nov 26 Javascript
Jquery实现textarea根据文本内容自适应高度
Apr 03 Javascript
js实现刷新iframe的方法汇总
Apr 27 Javascript
跟我学习javascript的函数和函数表达式
Nov 16 Javascript
Javascript中的几种继承方式对比分析
Mar 22 Javascript
详解基于vue-cli优化的webpack配置
Nov 06 Javascript
vue init失败简单解决方法(终极版)
Dec 22 Javascript
node.js ws模块搭建websocket服务端的方法示例
Apr 25 Javascript
jquery+css实现Tab栏切换的代码实例
May 14 jQuery
uni-app如何页面传参数的几种方法总结
Apr 28 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+MYSQL 出现乱码的解决方法
2008/08/08 PHP
一个php导出oracle库的php代码
2009/04/20 PHP
php数组函数序列之end() - 移动数组内部指针到最后一个元素,并返回该元素的值
2011/10/31 PHP
Laravel 5框架学习之Blade 简介
2015/04/08 PHP
PHP实现接收二进制流转换成图片的方法
2017/01/10 PHP
javascript之卸载鼠标事件的代码
2007/05/14 Javascript
javascript新手语法小结
2008/06/15 Javascript
什么是DOM(Document Object Model)文档对象模型
2012/03/05 Javascript
jQuery中的$.ajax()方法应用
2014/05/06 Javascript
JavaScript不使用prototype和new实现继承机制
2014/12/29 Javascript
JQuery删除DOM节点的方法
2015/06/11 Javascript
跨域请求的完美解决方法(JSONP, CORS)
2016/06/12 Javascript
require.js 加载 vue组件 r.js 合并压缩的实例
2016/10/14 Javascript
jQuery绑定事件的四种方式介绍
2016/10/31 Javascript
Node.js用readline模块实现输入输出
2016/12/16 Javascript
node.js基础知识小结
2018/02/26 Javascript
node解析修改nginx配置文件操作实例分析
2019/11/06 Javascript
基于vue-cli3+typescript的tsx开发模板搭建过程分享
2020/02/28 Javascript
redux处理异步action解决方案
2020/03/22 Javascript
[20:30]职业巡回赛回顾
2018/08/09 DOTA
python实现倒计时的示例
2014/02/14 Python
python命令行参数解析OptionParser类用法实例
2014/10/09 Python
Python xlrd读取excel日期类型的2种方法
2015/04/28 Python
Python程序退出方式小结
2017/12/09 Python
用python3 urllib破解有道翻译反爬虫机制详解
2019/08/14 Python
python 计算概率密度、累计分布、逆函数的例子
2020/02/25 Python
Python各种扩展名区别点整理
2020/02/27 Python
Python页面加载的等待方式总结
2021/02/28 Python
欧洲最大的高尔夫零售商:American Golf
2019/09/02 全球购物
万豪国际住宅与别墅集团:Homes & Villas by Marriott International
2020/10/08 全球购物
创建省级文明单位实施方案
2014/02/27 职场文书
幼儿园小班评语
2014/04/18 职场文书
创新创业项目计划书该怎样写?
2019/08/13 职场文书
python绘图subplots函数使用模板的示例代码
2021/04/30 Python
python3+PyQt5+Qt Designer实现界面可视化
2021/06/10 Python
MySQL索引 高效获取数据的数据结构
2022/05/02 MySQL