简洁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中用星号表示预录入内容的实现代码
Jan 08 Javascript
禁用JavaScript控制台调试的方法
Mar 07 Javascript
js的参数有长度限制吗?发现不能超过2083个字符
Apr 20 Javascript
基于jquery实现人物头像跟随鼠标转动
Aug 23 Javascript
干货分享:让你分分钟学会javascript闭包
Dec 25 Javascript
JavaScript开发者必备的10个Sublime Text插件
Feb 27 Javascript
BootStrap的alert提示框的关闭后再显示怎么解决
May 17 Javascript
浅谈javascript中遇到的字符串对象处理
Nov 18 Javascript
手机端js和html5刮刮卡效果
Sep 29 Javascript
详解vue.js2.0父组件点击触发子组件方法
May 10 Javascript
webpack打包后直接访问页面图片路径错误的解决方法
Jun 17 Javascript
Javascript中Promise的四种常用方法总结
Jul 14 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获取php,mysql,apche的版本信息示例代码
2014/01/16 PHP
PHP开发中解决并发问题的几种实现方法分析
2017/11/13 PHP
PHP使用标准库spl实现的观察者模式示例
2018/08/04 PHP
jQuery实现级联菜单效果(仿淘宝首页菜单动画)
2014/04/10 Javascript
从JQuery源码分析JavaScript函数的apply方法与call方法
2014/09/25 Javascript
JavaScript和JQuery的鼠标mouse事件冒泡处理
2015/06/19 Javascript
jQuery中$.ajax()和$.getJson()同步处理详解
2015/08/12 Javascript
javascript自动切换焦点控制效果完整实例
2016/02/02 Javascript
基于Bootstrap的Metronic框架实现页面链接收藏夹功能
2016/08/29 Javascript
jQuery之动画效果大全
2016/11/09 Javascript
微信小程序 template模板详解及实例
2017/02/21 Javascript
详解Web使用webpack构建前端项目
2017/09/23 Javascript
基于vue2实现上拉加载功能
2017/11/28 Javascript
基于axios封装fetch方法及调用实例
2018/02/05 Javascript
vue+axios+mock.js环境搭建的方法步骤
2018/08/28 Javascript
简单了解Vue computed属性及watch区别
2020/07/10 Javascript
python获取文件版本信息、公司名和产品名的方法
2014/10/05 Python
以Python的Pyspider为例剖析搜索引擎的网络爬虫实现方法
2015/03/30 Python
Python第三方库xlrd/xlwt的安装与读写Excel表格
2017/01/21 Python
Python中动态创建类实例的方法
2017/03/24 Python
用python制作游戏外挂
2018/01/04 Python
Python爬虫常用小技巧之设置代理IP
2018/09/13 Python
flask框架jinja2模板与模板继承实例分析
2019/08/01 Python
python 并发编程 非阻塞IO模型原理解析
2019/08/20 Python
Jupyter Notebook打开任意文件夹操作
2020/04/14 Python
使用Python制作一盏 3D 花灯喜迎元宵佳节
2021/02/26 Python
简述Html5 IphoneX 适配方法
2018/02/08 HTML / CSS
联想德国官网:Lenovo Germany
2018/07/04 全球购物
建龙钢铁面试总结
2014/04/15 面试题
中学教师实习自我鉴定
2013/09/28 职场文书
剪彩仪式主持词
2014/03/19 职场文书
教师先进工作者事迹材料
2014/05/01 职场文书
小学语文教学经验交流材料
2014/06/02 职场文书
夫妻分居协议书范文
2014/11/26 职场文书
鸡毛信观后感
2015/06/11 职场文书
新入职员工工作总结
2015/10/15 职场文书