美文网首页
ajxa的封装

ajxa的封装

作者: 飘飞而过学 | 来源:发表于2016-12-15 23:25 被阅读0次

function json2url(json){

json.t = Math.random();

var arr = [];

for(var name in json){

arr.push(name+'='+json[name]);

}

return arr.join('&');

}

//url,data,type,time,fnSucc,fnFail

function ajax(json){

var json = json || {};

if(!json.url){

alert('没有地址!');

return;

}

json.data = json.data || {};

json.time = json.time || 1000;

json.type = json.type || 'GET';

//1.ajax对象  request:请求  response:响应

if(window.XMLHttpRequest){

var oAjax = new XMLHttpRequest();

}

else{

var oAjax = new ActiveXObject('Microsoft.XMLHTTP');

}

//2.建立连接

switch (json.type.toLowerCase()){

case 'post':

oAjax.open('POST',json.url,true);

oAjax.setRequestHeader('Content-Type','application/x-www-form-urlencoded');//设置一个请求头

oAjax.send(json2url(json.data));

break;

case 'get':

oAjax.open('GET',json.url+'?'+json2url(json.data),true);

//3.打开连接

oAjax.send();

break;

}

//4.接收

var timer = null;

oAjax.onreadystatechange = function(){

if(oAjax.readyState == 4){

//完成

if(oAjax.status >= 200 && oAjax.status<300 || oAjax.status == 304){

//成功

json.success && json.success(oAjax.responseText);

clearTimeout(timer);

}

else{

json.error && json.error(oAjax.status);

}

}

};

timer = setTimeout(function(){

alert('你的网速太慢了,别等了!!');

},json.time);

}

相关文章

  • ajxa的封装

    function json2url(json){ json.t = Math.random(); var arr ...

  • ajxa初体验

    ①dataType类型:String预期服务器返回的数据类型。如果不指定,jQuery 将自动根据 HTTP 包 ...

  • 原生AJAX

    创建AJXA 第一步创建Ajax对象 var xml = new XMLHttpRequest; 第二部发送前基本...

  • ajxa第二天

    get用于返回值至链接 post用于登陆返回 post 是向服务器端发出请求的类型,和 form 中的 meth...

  • Vue-vue-router解决权限问题

    在vue项目中,与后端的数据交互只能通过ajxa。在解决用户权限问题上,后台的拦截器可以拦截需要登陆的请求。在vu...

  • Ajax跨域问题的Chrome插件解决方案

    在提交ajxa数据的时候,服务器明明接受到了post的数据,但是就是接受不到服务器发回的状态, 按F12谷歌报错是...

  • JavaScript面向对象与设计模式

    1. 面向对象 1.1 封装 封装的目的在于将信息隐藏。广义的封装不仅包括封装数据和封装实现,还包括封装类型和封装...

  • 02.OOP面向对象-3.一些理解

    对封装的理解?封装,类本身就是一个封装,封装了属性和方法。方法也是封装,对一些业务逻辑的封装。私有也是封装,将一些...

  • node学习4

    Nodejs 路由模块封装、封装仿照 express 的路由 Nodejs 路由模块封装 封装仿照 express...

  • python 文件及文件夹的操作和异常捕获

    1、面向对象的特征:封装、继承、多态 1.1、封装: 函数一种封装,封装了一些逻辑代码 类也是一种封装,封装属性和...

网友评论

      本文标题:ajxa的封装

      本文链接:https://www.haomeiwen.com/subject/suagmttx.html