Angular JS + $ http post实际上并没有发布数据

问题描述:

我已经在Angular JS中创建了一个函数,它可以进行AJAX调用。我面临的问题是我无法在$ _POST中获取数据,虽然它在浏览器的控制台中显示我在JSON对象中。

$scope.checkLogin = function(){ 
    var data = new FormData(); 

    data.append('user_email', $scope.user_email); 
    data.append('user_password', $scope.user_password); 

    $http({ 
     method: 'post', 
     url: siteUrl+'/api/login.php', 
     data: data, 
    }).then(function successCallback(response) { 
     console.log("Success! " + response); 
     $scope.login = response.data; 
    }, function errorCallback(response) { 
     console.log("Failure! " + response);  
    }); 
}; 

任何人都可以请指教如果我想要获取$ _POST中的数据,该怎么办?

+0

你这是在控制台中看到?确保你在控制器中注入http服务 –

+0

@WildWidow:是的,我在控制器中添加了$ http服务。我看到以JSON格式传递的请求数据。 –

+1

尝试在您的http请求中添加'headers:{'Content-Type':'application/x-www-form-urlencoded'}' –

尝试使用JSON.stringify你的对象转换后的数据

所以你行

data: data, 

成为

data: JSON.stringify(data),