广告
返回顶部
首页 > 资讯 > 精选 >如何解决vue中$http的get和post请求跨域问题
  • 342
分享到

如何解决vue中$http的get和post请求跨域问题

2023-06-15 09:06:32 342人浏览 安东尼
摘要

这篇文章给大家分享的是有关如何解决Vue中$Http的get和post请求跨域问题的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。vue $http的get和post请求跨域问题首先在config/index.js

这篇文章给大家分享的是有关如何解决Vue中$Http的get和post请求跨域问题的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

vue $http的get和post请求跨域问题

首先在config/index.js中配置proxyTable

 proxyTable: {      '/api':{          // target:'http://JSONplaceholder.typicode.com',          target:'http://localhost:9080',          changeOrigin:true,           pathRewrite:{               '/api':''           }      }

用户名和密码登录的表单提交

methods: {// get请求            //  submitFORM() {            //      var formData=JSON.stringify(this.ruleForm);            //      this.$http.get('/api/amdatashift/login/probe').then(function(data){            //      }).catch(function(){            //          console.log("服务器异常");            //  });            //  }  //post请求             submitForm() {                 var formData=JSON.stringify(this.ruleForm);                 this.$http.post('/api/amdatashift/login/user',{                     username:this.ruleForm.username,                     passWord:this.ruleForm.password                 },{                            emulateJSON:true                        }).then(function(data){                      console.log(data);                  }).catch(function(){                     console.log("服务器异常");             });             }      }

值得注意的是:

一定要设置 {emulateJSON: true},不然跨域不成功.

跨域在chrome浏览器中你看到的还是http://localhost:8080(即你启动vue的地址,而不是你服务器应用的地址),所以你看到不要惊讶,其实是跨域成功的。

http请求中要带上/api,经过index.js的代理会将/api去掉,浏览器中的访问地址为http://localhost:8080/api/amdatashift/login/user,然后实际的访问的地址是http://localhost:9080/amdatashift/login/user。通过代理就实现了跨域访问。

vue el-upload上传控件一直报跨域问题 post请求变成get请求

最近做vue的上传,用的是elmentui的el-upload控件,结果一直出幺蛾子,希望大家少走坑。

不多说 截图上代码。

1。搬控件改action地址

如何解决vue中$http的get和post请求跨域问题

配置好了后,直接测试,emmm ..... 报错 如下:

如何解决vue中$http的get和post请求跨域问题

提示了跨域问题,这个能理解毕竟我是本机开发前端服务和后端服务端口不一样。

查找资料,vue跨域问题的解决方案,然后说的开启代理。

如何解决vue中$http的get和post请求跨域问题

找到vue项目的config中的index.js文件打开,添加如图中的东西。 注意changeOrigin是true。这个意思用/api代替http://192.158.111.101:8000。例子:原地址'http://localhost:8000/SSMShow/upload' 现地址'/api/ssmShow/upload'。

所以上传控件改为:

如何解决vue中$http的get和post请求跨域问题

测试 ;emmmm。。。又错了

如何解决vue中$http的get和post请求跨域问题

如何解决vue中$http的get和post请求跨域问题

还是报错跨域,而且请求了2次,而且请求有问题啊

文件上传应该还是post请求,结果这边一个get请求 一个options请求。懵逼。302的状态不会改,先去搞后面这个500的报错。

options的请求网上有他的解释和处理方法 我照着改了(方法是用过滤器截取请求,并修改) 贴代码 我的是java 后台。

添加过滤器。

如何解决vue中$http的get和post请求跨域问题

同时WEB.xml需要添加如下

如何解决vue中$http的get和post请求跨域问题

改后重启java后台,测试 emmm。。。如下:

如何解决vue中$http的get和post请求跨域问题

如何解决vue中$http的get和post请求跨域问题

如何解决vue中$http的get和post请求跨域问题

这次厉害了 调用三次接口了 ,我去。不过好的情况是 options请求已经返回正确了,因为options请求返回正确了,所以请求了第三次。

仔细看了下第三次请求,这个是个get请求啊。附件上传怎么就是个get请求呢。

网上找了很久,大家都说的el-upload这个控件有问题。不能用action,于是按照网上方法在action里面加个假的地址,直接在控件的before-upload的钩子函数上动手脚。

直接在这里面用axiOS的post请求来提交文件。

如何解决vue中$http的get和post请求跨域问题如何解决vue中$http的get和post请求跨域问题

继续测试

如何解决vue中$http的get和post请求跨域问题

第三次上传请求还是个get请求,这就有问题了,说el-upload中的action有问题就算了 怎么直接调用post请求,会直接变成get请求呢。然后找了好久。在一个老哥的提醒下知道。

js或者vue中当有错误时候,会导致post请求变成get请求。然后我就找了我的错误那就是我的地址。

如何解决vue中$http的get和post请求跨域问题

你说气不气,居然只是这个地方少了斜杠,加上后测试

如何解决vue中$http的get和post请求跨域问题

一切都好了 ,请求只有一个了 post还是post了 文件也上传成功了。虽然很难过 还是很开心。

注意我图中标记的地址,这个里面端口是8080的 还有api字样,这不是我的后台真正地址,这是代理地址,他通过代理就能访问我的真实地址了 ,所以老哥们别看见端口不对 或者地址路径不对就认为不对了 这个是对的。

感谢各位的阅读!关于“如何解决vue中$http的get和post请求跨域问题”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

--结束END--

本文标题: 如何解决vue中$http的get和post请求跨域问题

本文链接: https://www.lsjlt.com/news/279453.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 解决vue $http的get和post请求跨域问题
    vue $http的get和post请求跨域问题 首先在config/index.js中配置proxyTable proxyTable: { '/api':{ ...
    99+
    2022-11-12
  • 如何解决vue中$http的get和post请求跨域问题
    这篇文章给大家分享的是有关如何解决vue中$http的get和post请求跨域问题的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。vue $http的get和post请求跨域问题首先在config/index.js...
    99+
    2023-06-15
  • vue如何解决axios请求前端跨域问题
    目录前言一、为什么会出现跨域的问题?二、解决方案跨域资源共享(CORS)写在最后前言 最近在写纯前端的vue项目的时候,碰到了axios请求本机的资源的时候,出现了访问报404的问...
    99+
    2022-11-12
  • 如何解决Ajax请求跨域问题
    这期内容当中小编将会给大家带来有关如何解决Ajax请求跨域问题,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。一、解决方案:1,在服务器端的响应头中添加一个http参数:res.setHeader(&quo...
    99+
    2023-06-08
  • 如何解决Ajax请求WebService跨域问题
    这篇文章主要介绍如何解决Ajax请求WebService跨域问题,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!1、背景  用Jquery中Ajax方式在asp.net开发环境中Web...
    99+
    2022-10-19
  • springboot 如何解决cross跨域请求的问题
    目录springboot 解决cross跨域请求1.使用ajax发送跨域请求接口时2.在被跨域请求的一方配置3.再次测试4.对于只有个别需要开放跨域请求的接口可以这样玩5.其它解决跨...
    99+
    2022-11-12
  • 如何解决angular.js跨域post的问题
    这篇文章将为大家详细讲解有关如何解决angular.js跨域post的问题,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。跨域,前端开发中经常遇到的问题,AngularJS...
    99+
    2022-10-19
  • vue如何解决axios请求出现前端跨域问题
    本篇内容主要讲解“vue如何解决axios请求出现前端跨域问题”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“vue如何解决axios请求出现前端跨域问题”吧!在...
    99+
    2022-10-19
  • 使用Flask和Django中解决跨域请求问题
    Flask解决跨域 1、下载flask_cors包 pip install flask-cors 2、使用flask_cors的CORS 代码示例 from flask_c...
    99+
    2022-11-12
  • 如何使用proxytable配置解决vue-cli的跨域请求问题
    小编给大家分享一下如何使用proxytable配置解决vue-cli的跨域请求问题,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!...
    99+
    2022-10-19
  • ajax跨域请求js拒绝访问的问题如何解决
    本篇内容介绍了“ajax跨域请求js拒绝访问的问题如何解决”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成! ...
    99+
    2022-10-19
  • java中的跨域请求如何解决
    本篇文章为大家展示了java中的跨域请求如何解决 ,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。java 请求跨域问题解决方法实例详解新建Util类,在Util中添加下面方法: public s...
    99+
    2023-05-31
    java 跨域请求 ava
  • vue中axios如何解决跨域问题
    这篇文章主要介绍vue中axios如何解决跨域问题,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!vue中axios不支持vue.use()方式声明使用。 所以有两种方法可以解决这点:...
    99+
    2022-10-19
  • 如何解决ajax跨域请求数据cookie丢失的问题
    本篇内容介绍了“如何解决ajax跨域请求数据cookie丢失的问题”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有...
    99+
    2022-10-19
  • 如何解决JQuery Ajax执行跨域请求数据的问题
    这篇文章将为大家详细讲解有关如何解决JQuery Ajax执行跨域请求数据的问题,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。具体如下原来的ajax请求如下:$.ajax...
    99+
    2022-10-19
  • 如何使用HTML5中postMessage解决Ajax中POST跨域的问题
    这篇文章主要为大家展示了“如何使用HTML5中postMessage解决Ajax中POST跨域的问题”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“如何使用HTM...
    99+
    2022-10-19
  • 如何解决Angular客户端请求Rest服务跨域的问题
    这篇文章主要介绍了如何解决Angular客户端请求Rest服务跨域的问题,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。1.问题描述:通过Or...
    99+
    2022-10-19
  • vue中this.$http.post()跨域和请求参数丢失的解决
    目录this.$http.post()跨域和请求参数丢失this.http.post()参数需注意this.$http.post()跨域和请求参数丢失 methods: { ...
    99+
    2022-11-13
  • 如何解决FeignClient发送post请求异常的问题
    本篇内容介绍了“如何解决FeignClient发送post请求异常的问题”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!FeignClient...
    99+
    2023-06-20
  • Nginx怎么解决WebApi跨域二次请求及Vue单页面的问题
    今天小编给大家分享一下Nginx怎么解决WebApi跨域二次请求及Vue单页面的问题的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文...
    99+
    2022-10-19
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作