最近做项目,需要用到vue,后台是php,第一次使用axios进行请求,本以为同ajax一样,会很简单,但是结果往往不让人满意啊,get请求很简单,这里就不说了,主要说下
post请求方式。
使用axios进行post请求,后台居然接收不到数据,这就纳闷了,于是网上一顿搜索,现在将所用的解决办法给大家说下:
1new
URLSearchParams方式
起初使用paramsappend("属性名":属性值)的方式,对于简单的数据传递这样是没有问题的,后台可以正常接收数据,但我发现一个问题,不知道大家有没有遇到过,当传递数据里含有数组时,你会发现传到后台的是字符串的形式
arr:a1,b1,c1
而非正常格式
arr:[a1,b1,c1]不符合我的要求,继续查找。
2Qsstringify方式
看到网上好多解决办法都在说qs,于是装了qs插件,使用方法也很简单。首先安装插件,然后注册组件,axiospost(url,Qsstringify(params)),在传递参数前,用qs转换下格式就可以了,Qs是将对象
序列化成URL的形式,以&进行拼接,在后台输出下接收的数据,嘿有值了,别提有多高兴了,刚乐呵没二分钟,等会再认真看看,这才发现当数据为空时qs居然给过滤掉了,直接没传,这叫一个伤心。。。
3改变后台接收方式
网上的帖子大部分都是在前端处理,但没什么太好的解决办法,于是把思路转到后台,改变后台的接收方式,最终使用file_get_contents('php://input')解决。
以上这篇解决Vue
axios
post请求,后台获取不到数据的问题方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。
您可能感兴趣的文章:详解解决使用axios发送json后台接收不到的问题axios向后台传递数组作为参数的方法
在使用 Axios 进行数据传输时,可以使用以下方式传输不带大括号的数据:
- GET 请求:将数据直接拼接在 URL 后面,并使用 `params` 参数进行传输。
```
axiosget('/api/user', {
params: {
name: 'John',
age: 25
}
})
```
以上代码会将请求发送到 `>
vue跨域解决方法
使用axios请求
第一步骤
在vueconfigjs 文件中 moduleexports = { } 中添加
devServer: {
proxy: {
'/profile': { //指定 路径 要 跨域请求地址
// 在本地会创建一个虚拟服务端,然后发送请求的数据,并同时接收请求的数据,这样服务端和服务端进行数据的交互就不会有跨域问题
// 将/api开头的url转发到target上。
target: ' >
需要使用 Ajax 请求后端接口, 并接受返回值, 再将返回值对象拆解后放入对应的 ele 元素中, Ajax 库建议使用 axios, 下载使用 npm install axios ( 前提是下载了 Nodejs ), 然后在 src 中创建一个 utils 文件夹, 再在其下创建 requestjs 并书写:
// 引入 axios 库
import axios from 'axios';
const request =axioscreate({
baseURL: '主要链接地址' // 如: > }) export default request; //导出模块 用的时候可以 src => api => xxxjs 中书写 import request from '@/utils/request'; // 此处引入刚刚书写的请求文件 export const getData = () => request({ method: 'GET' //书写请求类型 url: '此处是次连接' // 如: > }) 最后在 Vue 3 的对应文件中链入该文件 import { getData } from '@/api/xxx' // 封装首页的初始化数据方法 const initIndexData = async () => { // 解构 [ 数据中的 data ] 项 const { data } = await getHomeData() // 判断是否获取到数据 if(datastatus !== 200) { // 未获取到数据则直接返回 return; } // 将获取到的数据赋值给 indexData indexDatavalue = datadata } // 调用首页的初始化数据方法 initIndexData() 最后将解析数据放入指定位置即可
以上就是关于解决Vue axios post请求,后台获取不到数据的问题方法全部的内容,包括:解决Vue axios post请求,后台获取不到数据的问题方法、axios怎么传输不带大括号的数据、vue跨域解决方法等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)