vue解决跨域问题用后端配合吗_vue图片跨域解决

vue解决跨域问题用后端配合吗_vue图片跨域解决vue解决跨域问题

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

一.什么是跨域

  跨域问题的出现是因为浏览器的同源策略问题,所谓同源:就是两个页面具有相同的协议(protocol),主机(host)和端口号(port),它是浏览器最核心也是最基本的功能,如果没有同源策略我们的浏览器将会十分的不安全,随时都可能受到攻击。

当我们请求一个接口的时候,出现如:Access-Control-Allow-Origin 字眼的时候说明请求跨域了

二.如何解决跨域问题

  1.使用jsonp实现,网页通过script标签向服务器请求json数据,服务器受到请求后,将数据放在一个指定名字的回调函数的参数里面传给前端。

<script src="http://www.test.com/getData?callback=getData"></script>
// 向服务器test.com发出请求,该请求的查询字符串有一个callback参数,用来指定回调函数的名字

// 处理服务器返回回调函数的数据
<script type="text/javascript">
    // 服务器返回的数据会放到回调函数里面
    function getData(res){
        // 处理获得的数据
        console.log(res.data)
    }
</script>

  2.使用Jquery ajax实现,

$.ajax({
  url: 'http://www.test.com:8888/getData',
  type: 'get',
  dataType: 'jsonp',  // 请求方式为jsonp
  jsonpCallback: "handleCallback",    // 自定义回调函数名
  data: {}
})
 3.在vue开发中实现跨域:在vue项目根目录下找到vue.config.js文件(如果没有该文件则自己创建),在proxy中设置跨域
 devServer: {
    proxy: {  //配置跨域
      '/api': {
        target: 'http://121.121.67.254:8185/',  //这里后台的地址模拟的;应该填写你们真实的后台接口
        changOrigin: true,  //允许跨域
        pathRewrite: {
          /* 重写路径,当我们在浏览器中看到请求的地址为:http://localhost:8080/api/core/getData/userInfo 时
            实际上访问的地址是:http://121.121.67.254:8185/core/getData/userInfo,因为重写了 /api
           */
          '^/api': '' 
        }
      },
    }
  },

  在vue中使用proxy进行跨域的原理是:将域名发送给本地的服务器(启动vue项目的服务,loclahost:8080),再由本地的服务器去请求真正的服务器。

  以下是我在开发vue项目中实现跨域的步骤:

  1.在proxy中设置要访问的地址,并重写/api为空的字符串,因为我们真正请求的地址是没有带/api,这个重写很重要!!!

  

vue解决跨域问题用后端配合吗_vue图片跨域解决

   2.在创建axios实例的时候将baseURL设置为/api ,这时候我们的跨域就已经完成了。

  

vue解决跨域问题用后端配合吗_vue图片跨域解决

   3. 假如请求的真正地址为:http://121.121.67.254:8185/core/getdata/userInfo,但我们在浏览器上会看到是这样的: http://localhost:8080/api/core/getData/userInfo ,多了个/api,但并不影响我们请求数据。

  

vue解决跨域问题用后端配合吗_vue图片跨域解决

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/192408.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Java三大器之拦截器(Interceptor)的实现原理及代码示例「建议收藏」

    Java三大器之拦截器(Interceptor)的实现原理及代码示例「建议收藏」过滤器与拦截器的区别过滤器可以简单的理解为“取你所想取”,过滤器关注的是web请求;拦截器可以简单的理解为“拒你所想拒”,拦截器关注的是方法调用,比如拦截敏感词汇。4.1,拦截器是基于java反射机制来实现的,而过滤器是基于函数回调来实现的。(有人说,拦截器是基于动态代理来实现的)4.2,拦截器不依赖servlet容器,过滤器依赖于servlet容器。4.3,拦截器只对Action起作用,过滤器可以对所有请求起作用。4.4,拦截器可以访问Action上下文和值栈中的对象,过滤器不能。4

    2022年6月4日
    95
  • 数据库事务4种隔离级别及7种传播行为「建议收藏」

    数据库事务4种隔离级别及7种传播行为「建议收藏」数据库事务4种隔离级别及7种传播行为

    2022年4月23日
    41
  • linux apache2配置_apache2.4安装教程

    linux apache2配置_apache2.4安装教程一、安装:ubuntu及debian下的apahce有点特别,如果使用apt-get方式安装(apt-getinstallapache2)则安装目录默认在/etc/apache2默认log在/var/log/apache2/(这个鸟地方让我找了好久)二、配置文件说明/etc/apache2/apache2.conf此为apache2的主配置文件具体可

    2022年9月18日
    2
  • java 三大框架_java的三大框架是什么,功能各是什么

    java 三大框架_java的三大框架是什么,功能各是什么展开全部常说的三大框架指:SSH,即:Spring、62616964757a686964616fe59b9ee7ad9431333365653764Struts、Hibernate。Spring:功能强大的组件粘合济,能够将你的所有的java功能模块用配置文件的方式组合起来成为一个完成的应用。Spring是一个解决了许多在J2EE开发中常见的问题的强大框架。Spring提供了唯一的数据访问抽象,包…

    2022年7月7日
    27
  • Oracle Insert BLOB

    Oracle Insert BLOB来源于:http://arjudba.blogspot.com/2008/06/how-to-insert-blob-dataimage-video-into.htmlHowtoInsertBlobdata(image,video)intooracleBLOBsizeInthispostitisshownhowIcaninsertBlob

    2022年7月17日
    18
  • robots txt防爬虫[通俗易懂]

    robots txt防爬虫[通俗易懂]title:robots.txt防爬虫date:2018-07-1218:20:00tags:防坑指南categories:防坑指南事因:公司内部项目在百度搜索上输入名字会出现在搜索结果中,大佬们肯定不愿意啊,就需要禁止爬虫爬取。在项目根目录加入这个文件就行了。WHAT?::::::robots.txt是一个纯文本文件,是爬虫抓取网站的时候要查看的第一个文件,…

    2022年6月7日
    42

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号