所有分类
  • 所有分类
  • 后端开发
前后端联调困扰解决!Vue请求方式大揭秘

前后端联调困扰解决!Vue请求方式大揭秘

这个问题是我前端登录的时候向后端发生post请求。我向后端发参数的时候无论如何我都接不到数据,然后我就开始各种怀疑和猜测然而并不能解决我的问题,因为发送的内格式依然没有变化。来获取,才出现的问题

最近有点烦人的问题是关于网站内部前后端联调,源头是我没注意文字发送时的格式。最近研究了下Vue,突然发现请求的方式居然有这么多种!所以今儿想分享下这期间遇到的小问题。

这破事儿让我前端上不去,后端发消息也不行。他们的接口参数绝对没问题,无论是params还是body都试过了,但就是接收不到任何信息,真可谓傻眼了!

axios.post('/api/home/login',{
     params: {
      username: this.username,
      password: this.password
     }
    }).then(this.handleLoginSucc)

先说下,我猜可能是我这边的后端接口有问题,但我用Postman测试没啥事呀。咋滴?不信邪?那就说实话,我试了各种方法提交信息,还考虑到了跨域问题,结果还是不行。

// main.js配置
import axios from 'axios'
// 配置请求的根路径
axios.defaults.baseURL = 'http://localhost:8088/caeser/'
Vue.prototype.$http = axios
// 代码调用
// 设置同步方法 async
const{ data: res } await this.$http.post('users', { params: this.queryInfo })

但没啥用,发出去还是老样子,能不着急吗?

搞定!原来要用formdata这个格式噢。后来我找到一个叫qs的工具帮忙把信息转换了一下给后台,果然就收到了!

var params = new URLSearchParams()
// 参数保存
params.append('username', this.loginForm.username)
params.append('password', this.loginForm.password)
// post发送
axios.post('/api/home/login', params).then(this.handleLoginSucc)

前后端联调困扰解决!Vue请求方式大揭秘

你知道,关于浏览器把文件、数据传给服务器的事儿,其实很简单就能区分开来。主要就看它们的”content – type”字段,就能知道是用那种方式传的了:要是看到“application / x – www – form – urlencoded”,那肯定是formdata方式;而要是遇到“application / json”或者“multipart / form – data”这种情况,那就得换个策略,而是用payload来传输数据。

// 安装
// npm install url-search-params-polyfill --save

话说,你要给 Request Payload 加个 @RequestBody 的参数,这样才能把请求信息准确无误地放到 Bean 中去。记住,不能直接从 request 对象里拿请求原文,要用 request.getReader()这个方法才有效果。有时候可能会有点绕头,但是别急,慢慢来就好啦~

import 'url-search-params-polyfill';

唉原来我后端代码写得不对!原因在于我没调用request.getReader()获取请求正文,这可是误区!学Vue容易多了,上手快,语法还容易。关键要学会调试不同版和插件,别怕试。为了做出更好的前端效果,我还特意下了CSS样式文件(虽然有部分样式忘了),新的功能我都不懂。学前端真有趣!

var qs = require('qs');
axios.post('/foo', qs.stringify({ 'bar': 123 });

哥们儿,听说过这样的经历没?来评论聊聊,看看大家都遇到啥了。别忘了给咱们点个赞

axios.post(url,{data:{},
 headers:{content-type:'application/x-www-form-unlencoded'}
})

今天咱来聊聊后端前端一块搞事儿时候咋搞定那些小事儿,大家随便看看省得走冤枉路。没事多瞅瞅我动态还有超多好东东等着你们发现嘞~

原文链接:https://www.icz.com/technicalinformation/web/2024/03/11643.html,转载请注明出处~~~
0

评论0

请先
注意:请收藏好网址www.icz.com,防止失联!站内免费资源持续上传中…!赞助我们
显示验证码
没有账号?注册  忘记密码?