跨域的解决方案目前有三种主流解决方案
跨域是浏览器做出的限制,和后端没有关系
1. jsonp
jsop实现原理:主要是利用动态创建script标签请求后端接口地址,然后传递callback参数,后端接收callback,后端经过数据处理,返回callback函数调用的形式,callback中的参数就是json
2. 代理(前端代理和后端代理)
前端代理在vue中主要是通过vue脚手架中的config中的index文件来配置的,其中有个proxyTable来配置跨域的,react也是同理当然我们在其它框架和原生页面中也是如此
3. CORS
CORS全称叫跨域资源共享,主要是后台工程师设置后端代码来达到前端跨域请求的。
注:现在主流框架都是用代理和CORS跨域实现的。
这里就可以提一下ajax的交互过程了。(即流程)
交互流程:
先创建XHR对象即XMLHttpRequest()
然后open准备发送,oepn有三个参数
一是提交方式get和post,
二是接口地址,
三是同步和异步
第三步是用send发送
第四步就是在发送的过程中通过onreadystatechange来监听接收的回调函数,可以通过判断readyState4和status200来判断是否成功返回,然后通过responseText接收成功返回的数据