解决Vue axios post请求,后台获取不到数据的问题方法

解决Vue axios post请求,后台获取不到数据的问题方法,第1张

最近做项目,需要用到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跨域解决方法等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9351247.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-27
下一篇 2023-04-27

发表评论

登录后才能评论

评论列表(0条)