本文实例为大家分享了js编写ajax方法库的具体代码,供大家参考,具体内容如下

具体代码
~function(){
//ajax:实现ajax请求的公共方法;当一个方法传递的参数过多,而且还不固定,我们使用对象统一传值法(把需要传递的参数值都放在一个对象中,一起传递进去即可)
function ajax(options){
//把需要使用的参数值设定一个规则和初始值
var _default = {
url:"",//请求的地址
type:"get",//请求的方式
dataType:"json",//设置请求回来的内容格式
async:true,//请求是同步还是异步
data:null,//放在请求主体中的内容(POST)
getHead:null,//当READY STATE===2的时候执行的回调方法
success:null//当READY STATE===4的时候执行的回调方法
};
//使用用户自己传递进来的值覆盖我们的默认值
for(var key in options){
if(options.hasOwnProperty(key)){
_default[key] = options[key];
}
}
//如果当前的请求方式是get,我们需要在URL的末尾加随机数清楚缓存
if(_default.type==="get"){
_default.url.indexOf("?") >=0 ? _default.url += "&" : _default.url += "?";
_default.url +="_="+Math.random();
}
//SEND AJAX
var xhr = createXHR();
xhr.open(_default.type,_default.url,_default.async);
xhr.onreadystatechange = function(){
if(/^2\d{2}/.test(xhr.status)){
//想要在READY STATE等于2的时候做一些操作,需要保证AJAX是异步请求
if(xhr.readyState === 2){
if(typeof _default.getHead === "function"){
_default.getHead.call(xhr);
}
}
if(xhr.readyState === 4){
var val = xhr.responseText;
//如果传递的参数值是json,说明获取的内容应该是json格式的对象
if(_default.dataType === "json"){
val = "JSON" in window ? JSON.parse(val) : eval("("+val+")");
}
_default.success && _default.success.call(xhr,val)
}
}
}
xhr.send(_default.data);
}
window.ajax = ajax;
}()
ajax({
url:"data.txt",
type:"get",
dataType:"json",
async:false,
getHead:function(){
//this xhr当前AJAX对象
},
success:function(data){
//this xhr当前AJAX对象
//data:我们从服务器获取的主体内容
}
})
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
# js
# ajax
# Struts2.5 利用Ajax将json数据传值到JSP的实例
# JavaScript 通过Ajax 动态加载CheckBox复选框
# 浅谈Vue.js应用的四种AJAX请求数据模式
# 基于jstree使用AJAX请求获取数据形成树
# JavaScript使用Ajax上传文件的示例代码
# vuejs使用FormData实现ajax上传图片文件
# JS+Ajax实现百度智能搜索框
# 原生js中ajax访问的实例详解
# 放在
# 法库
# 回调
# 随机数
# 还不
# 大家分享
# 具体内容
# 大家多多
# 默认值
# 象中
# 应该是
# 一传
# url
# type
# _default
# options
# var
# dataType
# data
# null
相关文章:
建站之星安装失败:服务器环境不兼容?
Avalonia如何实现跨窗口通信 Avalonia窗口间数据传递
测试制作网站有哪些,测试性取向的权威测试或者网站?
建站之星价格显示格式升级,你的预算足够吗?
C++如何编写函数模板?(泛型编程入门)
c++如何打印函数堆栈信息_c++ backtrace函数与符号名解析【方法】
如何快速搭建高效香港服务器网站?
如何彻底删除建站之星生成的Banner?
如何基于云服务器快速搭建个人网站?
已有域名如何快速搭建专属网站?
建站之星安装模板失败:服务器环境不兼容?
建站IDE高效指南:快速搭建+SEO优化+自适应模板全解析
深圳网站制作平台,深圳市做网站好的公司有哪些?
企业在线网站设计制作流程,想建设一个属于自己的企业网站,该如何去做?
如何选择靠谱的建站公司加盟品牌?
建站之星与建站宝盒如何选择最佳方案?
建站之星如何快速更换网站模板?
Android自定义listview布局实现上拉加载下拉刷新功能
官网网站制作腾讯审核要多久,联想路由器newifi官网
如何在阿里云完成域名注册与建站?
如何快速搭建高效简练网站?
公众号网站制作网页,微信公众号怎么制作?
佛山企业网站制作公司有哪些,沟通100网上服务官网?
建站之星安装路径如何正确选择及配置?
定制建站流程解析:需求评估与SEO优化功能开发指南
,怎么用自己头像做动态表情包?
哈尔滨网站建设策划,哈尔滨电工证查询网站?
一键制作网站软件下载安装,一键自动采集网页文档制作步骤?
广东专业制作网站有哪些,广东省能源集团有限公司官网?
C++用Dijkstra(迪杰斯特拉)算法求最短路径
广东企业建站网站优化与SEO营销核心策略指南
如何高效完成自助建站业务培训?
网站制作多少钱一个,建一个论坛网站大约需要多少钱?
淘宝制作网站有哪些,淘宝网官网主页?
如何在Golang中实现微服务服务拆分_Golang微服务拆分与接口管理方法
手机网站制作与建设方案,手机网站如何建设?
javascript中的try catch异常捕获机制用法分析
建站之星如何快速解决建站难题?
如何快速启动建站代理加盟业务?
上海网站制作网站建设公司,建筑电工证网上查询系统入口?
网站制作的步骤包括,正确网址格式怎么写?
股票网站制作软件,网上股票怎么开户?
武汉外贸网站制作公司,现在武汉外贸前景怎么样啊?
金*站制作公司有哪些,金华教育集团官网?
如何通过cPanel快速搭建网站?
高端智能建站公司优选:品牌定制与SEO优化一站式服务
如何配置支付宝与微信支付功能?
建站之星后台密码遗忘?如何快速找回?
如何选择网络建站服务器?高效建站必看指南
湖北网站制作公司有哪些,湖北清能集团官网?
*请认真填写需求信息,我们会在24小时内与您取得联系。