Vue开发中遇到的跨域问题及解决方法
跨域是指a页面想获取b页面资源,如果a、b页面的协议、域名、端口、子域名不同,或是a页面为ip地址,b页面为域名地址,所进行的访问行动都是跨域的,而浏览器为了安全问题一般都限制了跨域访问,也就是不允许跨域请求资源。
1.jsonp
原理是:动态插入script标签,通过script标签引入一个js文件,这个js文件载入成功后会执行我们在url参数中指定的函数,并且会把我们需要的json数据作为参数传入。
由于同源策略的限制,XmlHttpRequest只允许请求当前源(域名、协议、端口)的资源,为了实现跨域请求,可以通过script标签实现跨域请求,然后在服务端输出JSON数据并执行回调函数,从而解决了跨域的数据请求。
优点是兼容性好,简单易用,支持浏览器与服务器双向通信。
缺点是只支持GET请求。
2.core
采用的是CORS(Cross-origin resource sharing)。后台在响应头中添加Access-Control-Allow-Origin。这样就可以跨域调后台接口了。
3.vue开发期间的api代理
当将此样板与现有后端集成时,通常需要在使用dev服务器时访问后端API。为了实现这一点,我们可以并行(或远程)运行dev服务器和API后端,并让dev服务器将所有API请求代理到实际的后端。

以上就是本次介绍的全部相关知识点,如果大家有任何补充可以联系脚本之家小编。
相关文章
vue中filters 传入两个参数 / 使用两个filters的实现方法
这篇文章主要介绍了vue中filters 传入两个参数 / 使用两个filters的实现方法,文中给大家提到了Vue 中的 filter 带多参的使用方法,需要的朋友可以参考下2019-07-07
axios封装,使用拦截器统一处理接口,超详细的教程(推荐)
这篇文章主要介绍了axios封装使用拦截器处理接口,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2019-05-05
defineProps宏函数不需要从vue中import导入的原因解析
这篇文章主要介绍了defineProps宏函数不需要从vue中import导入的原因解析,本文给大家介绍的非常详细,需要的朋友可以参考下2024-07-07


最新评论