自己封装的ajax
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了自己封装的ajax,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2051字,纯文字阅读大概需要3分钟。
内容图文
/* * * ITCAST WEB * Created by lsy 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 * * 这些都是动态参数 参数对象 options * */ /* 封装一个函数 */ window.$ = {}; /*申明一个ajax的方法*/ $.ajax = function(options){ if(!options || typeof options != ‘object‘){ returnfalse; } /*请求的类型*/var type = options.type || ‘get‘;/*默认get*//*请求地址 */var url = options.url || location.pathname;/*当前的地址*//*是异步的还是同步的 */var async = (options.async === false)?false:true;/*默认异步*//*请求内容的格式 */var contentType = options.contentType || "text/html"; /*传输的数据 */var data = options.data || {};/*{name:‘‘,age:‘‘}*//*在提交的时候需要转成 name=xjj 这种格式*/var dataStr = ‘‘/*数据字符串*/for(var key in data){ dataStr += key+‘=‘+data[key]+‘&‘; } dataStr = dataStr && dataStr.slice(0,-1); /*ajax 编程*/var xhr = new XMLHttpRequest(); /*请求行*//*(type==‘get‘?url+‘?‘+dataStr:url)判断当前的请求类型*/ xhr.open(type,(type==‘get‘?url+‘?‘+dataStr:url),async); /*请求头*/if(type == ‘post‘){ xhr.setRequestHeader(‘Content-Type‘,‘application/x-www-form-urlencoded‘); } /*请求主体*//*需要判断请求类型*/ xhr.send(type==‘get‘?null:dataStr); /*监听响应状态的改变 响应状态*/ xhr.onreadystatechange = function(){ /*请求响应完成并且成功*/if(xhr.readyState == 4 && xhr.status == 200){ /*success*/var data = ‘‘; var contentType = xhr.getResponseHeader(‘Content-Type‘); /*如果我们服务器返回的是xml*/if(contentType.indexOf(‘xml‘) > -1){ data = xhr.responseXML; } /*如果我们的服务器返回的是json字符串*/elseif(contentType.indexOf(‘json‘) > -1){ /*转化json对象*/ data = JSON.parse(xhr.responseText); } /*否则的话他就是字符串*/else{ data = xhr.responseText; } /*回调 成功处理函数*/ options.success && options.success(data); } /*计时请求xhr.status不成功 他也需要的响应完成才认作是一个错误的请求*/elseif(xhr.readyState == 4){ /*error*/ options.error && options.error(‘you request fail !‘); } } } $.post = function(options){ options.type = ‘post‘; $.ajax(options); } $.get = function(options){ options.type = ‘get‘; $.ajax(options); }
原文:https://www.cnblogs.com/7qin/p/9678060.html
内容总结
以上是互联网集市为您收集整理的自己封装的ajax全部内容,希望文章能够帮你解决自己封装的ajax所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。