AJAX编程-封装ajax工具函数

即 Asynchronous [e‘s??kr?n?s] Javascript And XML,AJAX 不是一门的新的语言,而是对现有技术的综合利用。
本质是在HTTP协议的基础上以异步的方式与服务器进行通信。

XMLHttpRequest可以以异步方式的处理程序,浏览器内建对象,用于在后台与服务器通信(交换数据) ,由此我们便可实现对网页的部分更新,而不是刷新整个页面。

封装ajax工具函数

$.ajax = function(options){

   if(!options) return false;

  /*options 参数传递*/
  var type = options.type || ‘get‘;
  var url = options.url || location.pathname;
  var async = options.async === false ? false : true;
  var data = options.data || {};

/*data 选要转化成 name=xjj&age=10*/
  var dataStr = ‘‘;
  for(var key in data){
  //console.log(data[key]);
  dataStr += key+‘=‘+data[key]+‘&‘;
  }

/*如果就数据 就裁剪掉最后一个&*/
  dataStr = dataStr && dataStr.slice(0,-1);

  /*ajax 编程*/
  /*初始化*/
  var xhr = new XMLHttpRequest();

  /*请求行*/
  /*如果是get请求那么就要拼接数据在url后面 ?*/
  xhr.open(type,type == ‘get‘?url+‘?‘+dataStr:url,async);

  /*请求头*/
  /*如果是post请求需要设置 content-type application/x-www-form-urlencoded*/
  if(type == ‘post‘){
  xhr.setRequestHeader(‘Content-Type‘,‘application/x-www-form-urlencoded‘);
  }

  options.beforeSend && options.beforeSend();

  /*请求主体*/
  /*如果是post请求需要把数据字符传过去 否则是null*/
  xhr.send(type==‘get‘?null:dataStr);

  /*监听响应状态的改变*/
  xhr.onreadystatechange = function(){
  /*响应成功*/
  if(xhr.readyState == 4){
    if( xhr.status == 200){
    /*处理响应成功函数*/
      var result = ‘‘;
      /*接受数据*/
      /* json xml string*/
      var contentType = xhr.getResponseHeader(‘Content-Type‘);

      if(contentType.indexOf(‘xml‘) > -1){
      /*服务端返回的是xml数据格式*/
        result = xhr.responseXML;
       }else if(contentType.indexOf(‘json‘) > -1){
        /*服务端返回的是json数据格式*/
        /*json字符串*/
        var str = xhr.responseText;
        result = JSON.parse(str);
       }else{
      result = xhr.responseText;
      }

    /*调用回调函数*/
      options.success && options.success(result);
    }
  /*响应失败*/
  else{
    /*处理响应失败函数*/
  options.error && options.error(‘request fail code‘ + xhr.status);
    }

  options.complete && options.complete();
  }
 }
};

时间: 2024-10-13 17:32:03

AJAX编程-封装ajax工具函数的相关文章

go编程之常见工具函数

1.时间格式化 基于模式的布局进行时间格式化和解析 1 package main 2 3 import "fmt" 4 import "time" 5 6 func main() { 7 p := fmt.Println 8 9 t := time.Now() 10 p(t.Format(time.RFC3339)) 11 12 t1, e := time.Parse( 13 time.RFC3339, 14 "2012-11-01T22:08:41+00

基于ES6/7/8/9封装的工具函数(持续更新,力求精简)

请求相关: 场景: 后端接口路径格式: 1 //后端请求接口格式 2 3 //① 4 5 var url1= '/api/getUerInfo/{userId}/{roleId}' 6 7 // ② 8 9 var url2= '/api/getUerInfo' 后端需求前端传参: 1 //①不需求查询参数,对url不做进一步的处理,直接返回 2 3 //②需要传递查询参数,也就是查询参数需要拼接到url身上 需求: 1 console.log(getUrl('/api/getUerInfo/{

封装一个Ajax工具函数

/*封装一个ajax工具函数*/ window.$ = {}; /*通过$定义一个ajax函数*/ /* * 1. type   string   请求的方式  默认是get * 2. url    string   请求地址  接口地址 * 3. async  boolean  默认的是true * 4. data   object   {}请求数据 * * 5.success function  成功回调函数 * 6.error   function  失败的回调函数 * */ $.ajax

JavaScript封装Ajax工具函数及jQuery中的ajax

封装ajax工具函数 /** * ITCAST WEB * Created by zhousg on 2016/5/24. */ /* * 1. 请求的类型 type get post * 2. 请求地址 url * 3. 是异步的还是同步的 async false true * 4. 请求内容的格式 contentType * 5. 传输的数据 data json对象 * * 6.响应成功处理函数 success function * 7.响应失败的处理函数 error function *

轻松搞定Ajax(分享下自己封装ajax函数,其实Ajax使用很简单,难是难在你得到数据后来怎样去使用这些数据)

hey,guys!今天我们一起讨论下ajax吧!此文只适合有一定ajax基础,但还是模糊状态的同志,当然高手也可以略过~~~ 一.概念 Ajax(Asynchronous Javascript + XML(异步JavaScript和XML )) 二.效果 实现无刷新效果,向后台异步的取数据(不是只有AJAX才能实现这样的效果的哦,如img , script标签中的src属性也可以实现一样的效果,可以自己尝试一下哦) 三.本质 可能我们在学习过程中会觉得ajax好难,我也是这样过来的,我觉得是我们

ajax编程

即 Asynchronous [e's??kr?n?s] Javascript And XML, AJAX 不是一门的新的语言,而是对现有技术的综合利用. 本质是在HTTP协议的基础上以异步的方式与服务器进行通信. 1. 异步 指某段程序执行时不会阻塞其它程序执行,其表现形式为程序的执行顺序不依赖程序本身的书写顺序,相反则为同步. 其优势在于不阻塞程序的执行,从而提升整体执行效率. XMLHttpRequest可以以异步方式的处理程序. 2. XMLHttpRequest 浏览器内建对象,用于在

原生态AJAX详解和jquery对AJAX的封装

AJAX: A :Asynchronous [eI`sinkrenes] 异步 J :JavaScript    JavaScript脚本语言 A: And X :XML 可扩展标记语言 AJAX现在貌似已经无处不在了,其实自从web2.0的广泛发展带来了AJAX的发展.我们目前的客户端可以分为胖客户端(C/S).廋客户端(B/S), PS:胖客户泛指客户端承担一部分计算工作减轻服务器压力.典型应用 :C / S架构的客户端.瘦客户泛指客户端不承担任何计算工作,完全依赖服务器端计算.典型应用:B

JavaWeb ajax编程(未完待续)

1.Ajax 1.1Ajax的定义 Ajax:(Asynchronous JavaScript And XML)指异步 JavaScript 及 XML. 不是一种新的编程语言,而是一种用于创建更好更快以及交互性更强的 Web 应用程序的技术,是基于JavaScript.XML.HTML.CSS新用法. Ajax:只刷新局部页面的技术 JavaScript:更新局部的网页 XML:一般用于请求数据和响应数据的封装 XMLHttpRequest对象:发送请求到服务器并获得返回结果 CSS:美化页面

前后端交互之封装Ajax+SpringMVC源码分析

为什么需要封装呢?因为用的多,我想将其封装成函数,当我想用它时,只需将那个函数对应的js文件引入即可,而不要重复写很多相同代码,利于开发效率的提高. 无论是$.ajax或$.post.$.get等,在开发中是经常用到的.再比如一些前端框架,例如easyui.ext.js等,ajax也是封装的. 编程的世界,封装无处不在. 具体js代码如下: /** * 增删改通用ajax请求 * @param type * @param url * @param datatype * @param conten