检索从Angular发送到php程序的数据?

时间:2016-08-22 15:44:08

标签: php angularjs post

这是我的函数AngularJS

'use strict';

 app
.factory('userProvider', function ($rootScope , $http) {

  function logIn(user) {
    var url='http://127.0.0.1:100/suitecrm/service/rest.php';

    /*$http.post(url,user)
      .success(function (response) {
      console.log(response);
        alert(user['username']);  //data is displayed normally here
        alert(user['password']);  //data is displayed normally here
      });
    */

    $http({
      method: 'POST',
      url: 'http://127.0.0.1:100/suitecrm/service/rest.php',
      //data: 'username: user['username'] , password: user['password'] }
      data: { username: user['username'] , password: user['password']}

    }).then(function successCallback(response) {
      console.log(response);

    }, function errorCallback(response) {
      // called asynchronously if an error occurs
      // or server returns response with an error status.
    });
  }

  return {
    logIn: logIn
  }
});

我想在我的文件rest.php中检索我的两个变量用户名和密码。 这是我获得用户名和密码的代码

$username =$_POST['username'];
$password =$_POST['password'];

但是当我打开控制台时会显示错误:username&密码没有在rest.php中定义,所以如何正确检索我的文件rest.php中的数据。

1 个答案:

答案 0 :(得分:2)

我认为除非您通过form method="POST"提交,否则您需要阅读/解析原始输入流。

尝试:

$request = json_decode(file_get_contents('php://input'));

您可以将它放在PHP脚本的开头。 $request将成为stdClass对象,其数据为属性。

$username = $request->username;
$password = $request->password;

或者,如果您更喜欢将其作为assoc数组使用,请使用:

$request = json_decode(file_get_contents('php://input'), TRUE);

并访问以下数据:

$username = $request['username'];
$password = $request['password'];