解决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向后台传递数组作为参数的方法

vite2 里面可以用 import来读取json文件了,看着挺方便的,我还特意把json文件放在了 public 文件夹里面,想着发布之后我可以直接修改json文件,而不用重新打包了。

但是想法很好,实际上并不是这么回事。

改成js就改吧,但是发布之后,改json文件就无效了,想法落空。

一般用 import 加载文件,后面的url必须是常量,不能修改,不能拼接。那么如果我们想要动态加载怎么办?其实稍微改一下就可以。

这样就可以根据蚕食拼接url,然后再加载文件了。不过这种方法还是会先把json文件改成js文件,然后再加载。

最后还得用axios,这样项目发布后可以直接修改json文件了。

不过也有个小麻烦,还得自己做缓存,否则每次使用的时候都会重新加载。

开发环境就先不做缓存了,生产环节在做缓存。

这个是vite专有的方式,一开始是想用的,但是发现还是发布的时候就确定了json文件的内容,发布后再修改就都无效了。

好吧,其实似乎一点都不好用。

本来想用这个白嫖 blog 的。可以自动加载json文件呀。

常见的做法是:

1 拿到type=file的内容

2 axios的headers的content-type设置成multipart/form-data

const file = eventtargetfiles[0]

axiospost('upload_file', file, {

headers: {

'Content-Type': 'multipart/form-data'

}

})then(res => consolelog(res))catch(err => consolelog(err))

第一种:

   比较常见的就是直接把字符串拼接,然后插入到元素中。

 

var html='' + datanum + '' + datafloor + '' + dataname + '' + datamoney + '';

elem[removed]=html;

   第二种:

   与第一种大致,先创建对象,然后添加到外层对象中

node=documentcreateElement("LI" textnode=documentcreateTextNode("Water""myList")appendChild(node);

  第三种:

  可以用网上mvvm框架,数据绑定比如:angular ,vue等 这里不举例子了 哈哈

  第四种:

  模板的比如 (templatejs)

[removed]            var viewCommand = function() {                var tpl = {

product: ["",                        "",                        "<>{#>",                        ""

]>",                        "<>",                        &#>{#>&#>{#>&#>",                        "",

]>

<>

以上就是关于解决Vue axios post请求,后台获取不到数据的问题方法全部的内容,包括:解决Vue axios post请求,后台获取不到数据的问题方法、vite2 读取json文件的几种方法、axios 如何把表单文件里的图片传到后台图片需要提前转换格式吗等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存