Javascript Angularjs和服务器端返回值(PHP)
有人能解释一下为什么当我的PHP脚本“返回”一个值时,我在angularjs中得到了“未定义”的值,但当我打印一个值时,我的响应值是准确的。。我的PHP需要做什么才能返回json对象 这是我的PHPJavascript 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
$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)
。