Ajax POST变量未通过AngularJS

Ajax POST变量未通过AngularJS,ajax,angularjs,http-post,Ajax,Angularjs,Http Post,制作了一个工厂来进行一些简单的AJAX调用,但是出于安全原因,我不得不将方法更改为POST而不是GET$http.POST而不是$http.GET,现在我无法在php文件中获取数据。使用$http.GET时使用$\u GET[]确实有效,但现在使用$\u POST[]时使用$http.POST我得到一个空数组。$http.defaults.headers.post[]行是其他stackoverflow主题中的一个解决方案,但它不适合我 有什么问题吗?您设置的内容类型是针对POST的,在POST中

制作了一个工厂来进行一些简单的AJAX调用,但是出于安全原因,我不得不将方法更改为POST而不是GET$http.POST而不是$http.GET,现在我无法在php文件中获取数据。使用$http.GET时使用$\u GET[]确实有效,但现在使用$\u POST[]时使用$http.POST我得到一个空数组。$http.defaults.headers.post[]行是其他stackoverflow主题中的一个解决方案,但它不适合我


有什么问题吗?

您设置的内容类型是针对POST的,在POST中,您可以在正文中以键值格式发送数据。然而,如果参数是json对象或数组,则angular wills将其序列化为简单字符串。问题可能是由于内容类型造成的。您需要发送表单urlencoded数据还是json数据?我只需要在$\u POST中使用PHP中的数组,我发现当我使用以下代码时:file\u get\u contentsphp://input 它包含JSON对象。但是我想把它作为我相信的表单数据发布,这样我就可以把我的$u post global转储。
module2.factory('Ajax', function($http) {
        $http.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded;charset=utf-8';
        return {
        get : function(url, params){
            return $http.post(url, {
                params : params
            });
        }
    }
});