原生JS封装ajax函数

Posted EasyComeEasyGo

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了原生JS封装ajax函数相关的知识,希望对你有一定的参考价值。


1
function ajax(params) { 2 params.data = params.data || ""; 3 params.type = params.type || "get"; 4 if(!params.url) { 5 throw new Error("未指定连接"); 6 } 7 params.async = params.async || true; 8 var xhr; 9 //兼容IE 10 if(window.VBArray) { 11 xhr = new ActiveXObject("Msxml2.XMLHTTP"); 12 } else { 13 xhr = new XMLHttpRequest(); 14 } 15 xhr.open(params.type, params.url, params.sync); 16 //处理回调函数 17 xhr.onreadystatechange = function() { 18 console.log(xhr.status); 19 if(xhr.status == 200) { 20 if(xhr.readyState == 4) { 21 params.success ? params.success(xhr.responseText) : ""; 22 } 23 } else { 24 throw new Error("请求失败,状态码:" + xhr.status); 25 } 26 } 27 if(params.type == "get") { 28 xhr.send(); 29 } else { 30 xhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); 31 xhr.send(params.data); 32 } 33 }

调用:

                ajax({
                    type:"get",
                    url:"http://localhost:8080/AJAX_test/txt/pbl.lol",
                    success:function(msg){
                        var list = JSON.parse(msg);
                    }
                })

 


以上是关于原生JS封装ajax函数的主要内容,如果未能解决你的问题,请参考以下文章

原生JS封装ajax方法

第110天:Ajax原生js封装函数

原生JS封装ajax函数

Ajax 概述原生JS(GetPost)的实现及 Ajax函数封装

原生JS封装AJAX详解

AJAX-js原生封装