axios param的数据始终post不过去

发布于 2022-09-11 23:30:24 字数 1332 浏览 18 评论 0

    // Send a POST request
                axios({
                    method: 'post',
                    url: this.url + 'vdata/vdata_cate/createVdataCateProcess',
                    data: {
                     param:JSON.stringify(this.formValidate),//转为json字符串
                    },
                    headers: {
                        'Content-Type': 'application/x-www-form-urlencoded'
                    },
                }).then((response) => {

                    //刷新taken 第10步
                    this.getNewToken();

                    if (response.data.r == "success") {
                        swal({
                            type: "success",
                            title: "成功!",
                            text: "添加成功",
                            confirmButtonText: "确认",
                            allowOutsideClick: true,
                            timer: 1300,
                        }, function() {
                            //取消窗口
                        });
                    } else {
                        console.log(response.data);
                        swal({
                            type: "error",
                            title: response.data,
                        });
                    }

                });

param的数据始终post不过去

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

娇俏 2022-09-18 23:30:24

headers 中的 ContentType 和 Payload 冲突

经过 JSON.stringify 转换后是一个 JSON 字符串,但是 application/x-www-form-urlencoded 要求是使用key=value 的形式对参数进行包装,多个参数使用 & 拼接。

解决办法。

  • 1、 使用 QS 包中的 qs.stringify 处理对象。
  • 2、 去掉 JSON.stringifyContent-Type 修改为 application/json
  • 方法2 如果是在 PHP 将无法通过 $_POST 取值,需要使用 file_get_contents('php://input')。在一些框架中,需要使用 Request::getContent 方法

夜唯美灬不弃 2022-09-18 23:30:24

看下控制台有报错吗? 然后确认一下Network上的请求的参数没带上?

魔法少女 2022-09-18 23:30:24

url会不会错了,或者没写端口;刷新token这样子你每次调用都得写,封装下axios然后在拦截器里面写会好很多

谈下烟灰 2022-09-18 23:30:24

你是不是搞混了,data里面不用再写param了,应该用下面这一行就行了
data: JSON.stringify(this.formValidate),//转为json字符串

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文