Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/271.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Angularjs和服务器端返回值(PHP)_Javascript_Php_Angularjs - Fatal编程技术网

Javascript Angularjs和服务器端返回值(PHP)

Javascript Angularjs和服务器端返回值(PHP),javascript,php,angularjs,Javascript,Php,Angularjs,有人能解释一下为什么当我的PHP脚本“返回”一个值时,我在angularjs中得到了“未定义”的值,但当我打印一个值时,我的响应值是准确的。。我的PHP需要做什么才能返回json对象 这是我的PHP $postdata = file_get_contents("php://input"); $data = json_decode($postdata, true); if ( $data['username'] == "myusername" && $data['password

有人能解释一下为什么当我的PHP脚本“返回”一个值时,我在angularjs中得到了“未定义”的值,但当我打印一个值时,我的响应值是准确的。。我的PHP需要做什么才能返回json对象

这是我的PHP

$postdata = file_get_contents("php://input");
$data = json_decode($postdata, true);

if ( $data['username'] == "myusername" && $data['password'] == "mypassword") {  
    $status = "success";
} else {
    $status = "failure";
}

print $status;
这是我指令中处理xhr请求的部分

    $http.post("http://lessons.localhost/login.php", user_data)
    .success(function(response) {

        switch (response) {

            case "success":
            sessionStorage.userStatus = "success";
            break;

            case "failure":
            sessionStorage.userStatus = "failure";
            break;

            default:
                sessionStorage.userStatus = "absent";
            break;
        }

      console.log(sessionStorage.userStatus);
      });

您可以尝试使用echo json_encode(数组('status'=>$status))而不是
打印$status

    $http.post("http://lessons.localhost/login.php", user_data, 
        function(response) {
         var result =  response.status;
            switch (result) {                        

                case "success":
                sessionStorage.userStatus = "success";
                break;

                case "failure":
                sessionStorage.userStatus = "failure";
                break;

                default:
                    sessionStorage.userStatus = "absent";
                break;
            }

          console.log(sessionStorage.userStatus);
          }, 'json');

AJAX请求只是请求特定格式的文本。您始终需要打印或
echo
输出要检索的内容。例如,
echo-json\u-encode($something)