Ajax

// 实例化ajax请求
const xhr = new XMLHttpRequest()
// open 创建请求第一个参数是请求方式,第二个是请求地址,第三个参数是是否异步
xhr.open('GET',"/api",false) 
xhr.setRequestHeader('')设置请求头
xhr.send() //发送请求 参数:body 要发送的数据(字符串类型) 
xhr.onreadystatechange = function(){  //存储函数,当readyState (0-4)改变时,就会触发	onreadystatechange 函数
	if(xhr.readyState == 4){  readyState == 4 表示成功
		if(xhr.status == 200){  status 请回返回的状态码
			 //注:常用200:代表服务器成功接受了客户端请求
             //     404:客户端错误,例如请求页面不存在
			alert(xhr.responseText)
		}
	}
}

使用ajax 请求,可以让我们在不刷新页面的情况下,更新页面数据,可以用来实现

  • 页面上拉加载更多数据
  • 列表数据无刷新分页
  • 表单项离开焦点数据验证
  • 搜索框提示文字下拉列表

等功能

使用ajax发送请求会让从服务器到浏览器的数据开始变得可控
在这里插入图片描述

跨域

同源策略是浏览器需要遵循的标准,而如果是服务器向服务器请求就无需遵循同源策略。

非同源限制

【1】无法读取非同源网页的 Cookie、LocalStorage 和 IndexedDB(已淘汰)

【2】无法接触非同源网页的 DOM

【3】无法向非同源地址发送 AJAX 请求

简单实现跨域的方法有通过jsonp 的方式

核心思想:网页通过添加一个******元素***,向服务器请求 JSON 数据,服务器收到请求后,将数据放在一个指定名字的回调函数的参数位置传回来。JSONP只支持GET******请求,CORS支持所有类型的HTTP请求。JSONP的优势在于支持老式浏览器,以及可以向不支持CORS的网站请求数据。

也可以通过设置请求头

在 xhr.setRequestHeader()中添加
Access-Control-Allow-Origin
必传,值要么是请求时Origin字段的值,要么是一个*,表示接受任意域名的请求

附:具体请求头的设置可以参考这篇博客
链接: https://blog.csdn.net/adfgcxe/article/details/113928937.

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值