var app = angular.module("report", []);
function index($scope, $http){
$scope.auth = function(){
$http({
url: '/index.php/users/auth',
method: "POST",
data: {login: $scope.login, password: $scope.password}
}).success(function(data){
alert(data);
});
}
}
这是我的AngularJS应用程序。 $ http不会将POST数据发送到php脚本。
<?php
class Users extends CI_Controller {
public function auth(){
extract($_POST);
echo $login;
}
}
- 这是我的PHP脚本。 Codeignitor返回未定义的变量 'login'
答案 0 :(得分:0)
您需要使用php提供的file_get_contents函数。
你可以在这里找到解释:
AngularJs $http.post() does not send data
您可以在此处找到代码示例:
http://www.cleverweb.nl/javascript/a-simple-search-with-angularjs-and-php/
答案 1 :(得分:0)
请使用json_decode(file_get_contents('php:// input'));
例如:
public function auth(){
$postData = json_decode(file_get_contents('php://input'));
}
答案 2 :(得分:0)
在不更改服务器中的代码的情况下解决此问题,并以常规方式使用$_POST
。在此解释:http://victorblog.com/2012/12/20/make-angularjs-http-service-behave-like-jquery-ajax/