$ http不会向php发送数据

时间:2014-01-18 11:06:41

标签: javascript php angularjs http http-post

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'

3 个答案:

答案 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/