首页 > Web开发 > 详细

ionic使用常见问题(八)——PHP无法获取$http的post数据

时间:2017-07-05 09:40:07      阅读:319      评论:0      收藏:0      [点我收藏+]

一个简单的post请求

$http.post(‘do-submit.php‘,myData)

.success(function(){

    // some code

});

 

可是,用angularjs的$http提交的数据,在php服务器端却无法通过$_REQUEST/$_POST获取到

而是需要:

$params= json_decode(file_get_contents(‘php://input‘),true);

 

解决方案是什么?

  1. 在服务器端(PHP)通过  $params = json_decode(file_get_contents(‘php://input’),true);   获取参数,小项目可以,大项目要一个一个改。(不推荐)
  2. 修改Angular的$httpProvider的默认处理:http://victorblog.com/2012/12/20/make-angularjs-http-service-behave-like-jquery-ajax/  (为了便于以后的管理,这是最好的办法)
  3. 在$http 增加headers: {‘Content-Type’: ‘application/x-www-form-urlencoded’},
    transformRequest: function (obj) {
    var str = [];
    for (var p in obj) {
    str.push(encodeURIComponent(p) + “=” + encodeURIComponent(obj[p]));
    }
    return str.join(“&”);
    },
  4. 配置$httpProvider
var myApp = angular.module(‘app’,[]);

myApp.config(function($httpProvider){

$httpProvider.defaults.transformRequest = function(obj){

var str = [];

for(var p in obj){

str.push(encodeURIComponent(p) + “=” + encodeURIComponent(obj[p]));

}

return str.join(“&”);

}

$httpProvider.defaults.headers.post = {

‘Content-Type’: ‘application/x-www-form-urlencoded’

}

});

 

ionic使用常见问题(八)——PHP无法获取$http的post数据

原文:http://www.cnblogs.com/tdalcn/p/7119440.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!