ajax方法封装

10 篇文章 1 订阅
// ajax get 五部曲
function ajax_get(url,data){
	var ajax=new XMLHttpRequest();

	//url方法,如果发送数据段格式为xxx。php?name=jack&age=18,需要拼接
  
        if(data){
        	url+='?';
        	url+=data;
        }else{
        	
        }
        ajax.open('get',url);
		ajax.send();
		ajax.onreadystatechange=function(){
			if(ajax.readyState==4&&ajax.status==200){
				console.log(ajax.responseText);
		}
	}
}

function ajax_post(url,data){
	var ajax=new XMLHttpRequest();
		ajax.open('post',url);
		ajax.setRequestHeader("Content-type","application/x-www-form-urlencoded");
		if(data){
			ajax.send(data);
		}else{
			ajax.send();
		}
		ajax.onreadystatechange=function(){
			if(ajax.readyState==4&&ajax.status==200){
				console.log(ajax.responseText);
		}
	}
}

//将get和post封装到一起
function ajax_tool(url,data,method,success){
	var ajax=new XMLHttpRequest();
	if(method=='get'){
		if(data){
			url+='?';
			url+=data;
		}else{

		}
		ajax.open(method,url);
		ajax.send();
	}else{
		//post请求不需要改变
		ajax.open(method,url);
		ajax.setRequestHeader("Content-type","x-www-form-urlencoded");
		if(data){
			ajax.send(data);
		}else{
			ajax.send();
		}
	}

	ajax.onreadystatechange=function(){
		if(ajax.readyState==4&&ajax.status==200){
			console.log(ajax.responseText);

			//将数据让外边可以使用
			return ajax.responseText;
// 当 onreadystatechange 调用时 说明 数据回来了
			// ajax.responseText;
			success(ajax.responseText);
		}
	}
}

引用

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>Document</title>
</head>
<body>
	<input type="button" value="测试get" id="ajax_get">
</body>
</html>
<!-- 导入封装的JS -->
<script type="text/javascript" src="ajax_tool.js"></script>
<script type="text/javascript">
	document.querySelector("#ajax_get").onclick=function(){
		var backData=ajax_tool('01.test_get.php','name=huluwa&&skill=saveyeye','get',function(data){
			console.log(data);
		});
		console.log(backData);
	}
</script>
<?php 
// 获取get提交的数据
echo $_GET['skill'];
 ?>
  • 4
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值