vue使用axios发送post请求,php的$_POST接受不到值

vue使用axios发送post请求,php的$_POST接受不到值

首先PHP端的跨域不多说

直接方法下面增加

header('Access-Control-Allow-Origin: *');

header("Access-Control-Allow-Headers: Origin, X-Requested-With, Content-Type, Accept");

header('Access-Control-Allow-Methods: GET, POST, PUT,DELETE');

然后还不够

你会发现你的get方法已经可以在php的$_GET中拿到值了,但是POST还是不行

后来经过我在网上的搜索,具体原因好像是。。传输格式不对

_this.$axios

                    .post("http://XXXX", {name:"123",age:"13"})

                    .then(function (response) {

                        console.log(response);

                        if (response.data.code == 200) {


                        } else _this.$message.error(response.data.msg);

                    });

发现这样是不行的

解决方法是

import qs from 'qs';

这个qs包一般你安装axios就自带了

如果没有的话就自行cnpm install安装下

// 将请求数据转换为form-data格式

                // 这里不用qs,用FormData也可以,不赘述

                var data = qs.stringify({

                    currentPage: "0",

                    pageSize: "10",

                    type: "1",

                });

然后。。

_this.$axios

                    .post("http://XXXX", data)

                    .then(function (response) {

                        console.log(response);

                        if (response.data.code == 200) {

                        } else _this.$message.error(response.data.msg);

                    });


接着你就发现PHP的$_POST拿到值了。。

具体的深层次原因希望日后可以慢慢发现。。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 一、直接引入`import vue from 'vue'` 报vue-warn错误 //如果直接使用import ...
    代小代isDelenDelen阅读 11,794评论 1 16
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,399评论 19 139
  • XMLHttpRequest的跨域请求 动态添加一个标签,而script标签的src属性是没有跨域的限制的。这样说...
    葛高召阅读 22,658评论 0 0
  • 今天第二次学习了思维导图,比第一次学的更深刻,理解的更透彻。第一次主要是初步了解,会绘制,会一些基本的运用...
    大之啊阅读 1,274评论 2 2
  • 七绝 秋怨 西风落叶迳庭闲, 慵对菱花理鬓鬟。 长恨秋光生艾怨, 韶华易逝老红颜。
    川伸阅读 3,294评论 2 6