分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 前端开发

原生JS封装AJAX详解

发布时间:2023-09-06 01:18责任编辑:白小东关键词:暂无标签
//1.type 请求方式post,还是get
//2.请求URL地址
//3.参数 (对象)
//4.回调函数
//5.同步还是异步
//请求方式 请求url地址 参数:是一个对象 回调函数 同步异步
function ajax(type,url,par,fn,async) {
???//判断请求方式是否合法
???//因为传入可能会有大写或小写,统一转化为大写,方便验证
???type =type.toUpperCase();
???//判断合法性
???if(type != "GET" && type !="POST"){
???????console.error("请求方式不合法");
???????return;
???}
???var ajaxObj;
???//判断浏览器类型,创建ajax对象
???if(window.XMLHttpRequest){
???????ajaxObj =new XMLHttpRequest();
???}else {
???????ajaxObj =new ActiveXObject("Microsoft.XMLHTTP");
???}
???//处理参数
???var data ="";
???for(var prop in par){
???????data += prop +"="+par[prop]+"&";
???}
???data =data.substr(0,data.length-1);
???if(type =="GET"){
???????url +="?" +data;
???}
???//调用open
???ajaxObj.open(type,url,async);
???if(type =="POST"){
???????ajaxObj.setRequestHeader("Content-type","application/x-www-form-urlencoded");
???????ajaxObj.send(data);
???}else{
???????//get
???????ajaxObj.send();
???}
???//监听数据返回,通过回调函数通知用户 异步
???ajaxObj.onreadystatechange =function () {
???????if(4 ==ajaxObj.readyState &&200 ==ajaxObj.status){
???????????fn(ajaxObj.responseText);
???????}
???}
}

原生JS封装AJAX详解

原文地址:http://www.cnblogs.com/mmybz/p/7676340.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved