原生Ajax全称  Async Javascript And XML 

ajax可以在网页不刷新的情况下可以请求数据然后实现网页局部刷新或者渲染

如何创建一个原生的ajax  

上代码!!!

//第一步  先城建一个ajax的核心 XMLHttpRequest
let xhr = new XMLHttpRequerst();
//第二步  使用open 创建请求 第一个参数是请求方式 第二个是请求的地址  第三个是同步或者异步
xhr.open('GET',"https://www.baidu",false)
//如果是post请求  必须要写请求头
xhr.setRequestHeader('') //设置请求头
//第三步  为xhr.onreadystatechange  设置监听事件
xhr.onreadystatechange = function(){
    if(xhr.readyState == 4) {
    if(xhr.status == 200){
    alert(xhr.responseTwxt)
//readyState  0 请求未初始化  刚刚实例化XMLHttpRequest
//readyState  1 客户端与服务器建立链接  调用open方法
//readyState  2 请求已经被接收
//readyState  3 请求正在处理中
//readyState  4 请求成功
            }
       }
}
// 第四步 发送请求数据  调用send 发送请求 如果不需要参数就写一个null
xhr.send(null)


http常见的状态码  

(代码上的200 就是状态码 表示成功)

100—199  请求正在处理中

200—299  一般都是表示成功 

300—399  表示重定向

400—499  资源找不到 客户端报错

500—599  服务器内部报错

跨域

简单说一下为什么会出现跨域

跨域是浏览器的同源策略引起的 协议  域名  端口号 有任何一个不一样就会出现跨域

解决跨域的办法:

1,jsonp 是解决跨域的一种解决方案,实现原理主要是利用动态创建 script 标签,设置src属性,页面要提前定义好callback。后端会返回回调函数执行,并包裹参数callback(data)  callback 中的参数就是 json

2在vue 中主要是通过vue 脚手架中的vue.config.js 文件来配置的,通过在devServer中的proxy来配置跨域的前缀

3中转或者叫服务代理

更多推荐

原生AJAX