试图获得非对象的属性

时间:2017-07-26 17:34:08

标签: php angularjs zend-framework

现在我使用角度js& zend框架,我有这个问题试图发送数据与帖但但有一个问题,zend没有订婚$ request作为一个对象这里是我的脚本

app.controller('MyLogin', function($scope, $http) {
$scope.form = {username : '', password : ''};
$scope.submit = function () {
$http({
    url: '/login',
    method: 'POST',
    headers:{
        'Content-Type' : 'application/x-www-form-urlencoded'
    },
    data: {
        'username' : $scope.form.username,
        'password' : $scope.form.password
    },
}).then(function (response) {
    console.log(response.data);

});
}

});

和控制器中的

  class LoginController extends AbstractRestfulController  {
    public function indexAction() {
     $data = file_get_contents("php://input");
        $request = json_decode($data);
        var_dump($request);
        var_dump($request->username); }}

for var_dump($ request)我得到了

 object(stdClass)#194 (2) {
   ["username"]=>
   string(7) "yassine"
   ["password"]=>
   string(7) "yassine"
    }

和var_dump($ request-> username);

   string(7) "yassine"

但仍然是这个错误

注意:尝试在第21行的C:\ xampp \ htdocs \ zendf \ module \ Login \ src \ Login \ Controller \ LoginController.php中获取非对象的属性

1 个答案:

答案 0 :(得分:0)

查看json_decode的文档,它在示例#3中说,键和值必须用双引号括起来。在构建JSON时尝试将单引号换成double,否则它不会被视为有效。