Ajax请求的简单实例

服务器代码

在这里插入图片描述
返回的是json数据 {“id”:1,“name”:“aaabbb”}

Ajax代码

(1)原生的Ajax代码

<script>
	//1.创建对象
	const xhr=new XMLHttpRequest();
	xhr.responseType= 'json';
	//2.初始化  设置请求方法和url
	xhr.open('Get','http://localhost:8080/user?a=100');
	//3.发送
	xhr.send();
	//4.事件绑定处理返回结果
	//redaystate:0 1 2 3 4
	xhr.onreadystatechange = function(){
	    if(xhr.readyState === 4){
	        if(xhr.status === 200){
	            result.innerHTML=xhr.response.name;
	        }
	    }
	}
</script>

在这里插入图片描述
浏览器中点击按钮 处理结果:
在这里插入图片描述

(2)jquery库实现的Ajax代码

先导入jquery

<script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.6.1/jquery.min.js"></script>
  • get请求的代码
$.get('http://localhost:8080/user',{a:100},function(data){
         result.innerHTML=data.name;
})
  • post请求的代码
// 第一个参数:url,第二个参数:请求的参数,第三个参数:回调,第四个参数是响应体类型
$.post('http://localhost:8080/user',{a:100},function(data){
         result.innerHTML=data.name;
},'json')
  • 通用型方法
//此方法参数是一个对象,包含一些属性
$.ajax({
     //url
     url: 'http://localhost:8080/user',
     //参数
     data: {a:100},
     //请求类型
     type: 'GET',
     //成功的回调
     success: function(data){
        result.innerHTML=data.name;
     }
 })

在这里插入图片描述
浏览器中点击按钮 处理结果:
在这里插入图片描述

(3)Axios异步请求框架实现的Ajax代码

先导入axios

<script src="https://cdn.bootcdn.net/ajax/libs/axios/1.1.2/axios.min.js"></script>
  • get请求的代码
//第一个参数是url,第二个参数是其他信息(请求参数信息,请求头信息..)
axios.get('http://localhost:8080/user',{
            params: {a:100},
            headers:{aa:22}
        }).then(value => {
            result.innerHTML=value.data.name;
        });
  • post请求的代码
//第一个参数是url,第二个参数是请求体,第三个参数是其他信息(请求头信息..)
axios.post('http://localhost:8080/user',{
            username:'aaa',
            password:'123'
        },{
        	headers:{aa:22}
        }).then(value => {
            result.innerHTML=value.data.name;
        });
  • 通用型方法
axios({
      //请求方法
      method: 'GET',
      //url
      url: 'http://localhost:8080/user',
      //请求参数
      params: {a:100}
 }).then(value => {
     result.innerHTML=value.data.name;
 });

在这里插入图片描述
浏览器中点击按钮 处理结果:
在这里插入图片描述

(4)fetch函数实现的Ajax代码

fetch('http://localhost:8080/user?a=100',{
            method: 'GET'
        }).then(value => {
        	//当服务器端返回的是json数据时
            return value.json();
        }).then(value => {
            result.innerHTML=value.name;
        });

图片描述](https://img-blog.csdnimg.cn/02f1e3bf0a544cd2971531794acaa1d9.png)

浏览器中点击按钮 处理结果:
在这里插入图片描述
注意:发送Ajax请求必须是同源,即当前网页的url和ajax请求的目标资源的url之间,协议,域名,端口号必须完全相同。
跨域请求的解决方案有:jsonp或CORS。
其中CORS解决跨域:客户端还是发送Ajax请求,服务器端返回数据时要设置Access-Control-Allow-Orign响应头。
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值