牛骨文教育服务平台(让学习变的简单)
博文笔记

解决PHP无法通过$_POST接收到AngularJS的post数据的解决方法

创建时间:2016-04-27 投稿人: 浏览次数:131

在使用AngularJS $http.post()的时候,PHP如果通过$_POST来获取值,那么它获取到的将会是空值。而如果是用jquery来进行post传递,却不会这个问题。这是为什么呢?这是因为两者的post对header的处理有所不同。jQuery会把作为JSON对象的myData序列化,而AngularJS不会,所以PHP无法接受到这个值。而解决这个问题的方式有三种:

  第一种:引入jquery,以此代替AngularJS。(不推荐)

  第二种:在服务器端(PHP)通过  $params = json_decode(file_get_contents("php://input"),true);   获取参数,需要一个一个改,效率低下,后期维护问题也大。(不推荐)

  第三种:修改Angular的$httpProvider的默认处理方式,具体操作如下: