我用角度创建了一个函数。它工作正常,可以得到正确的结果,但我的问题是我想要结果的特定节点。我曾与JSON和Jquery合作过,但我是棱角分明的新人。
这是我的代码。
$scope.booking= function(docid,addid){
//console.log(addid);
var a = $http({
method: 'POST',
url: "http://localhost:81/DoctorStayServiceAngular/model/getDoctorBookingDetail.php",
params:{"doctorid":docid,"addressid":addid,"day":weekday[d.getDay()]}
//params:{"doctorid":docid}
}).then(function mySucces(response) {
//$scope.count= response.data;
/*$scope.appo=[];
$scope.appo= i;
i++;*/
//
//console.clear();
return response.data;
});
console.log(a);
return a;
};
http://localhost:81/DoctorStayServiceAngular/model/getDoctorBookingDetail.php
返回json。
{
"status":"success",
"message":"",
"booking":{
"booking_detail":[{
"session":null,
"slot":null,
"day":"Friday"
}]
}
}
所以我想从响应(在$$状态下)获得价值(我在图片中突出显示),我该怎么办?
简而言之,我怎样才能得到最终结果?
{
"status":"success",
"message":"",
"booking":{
"booking_detail": [{
"session":null,
"slot":null,
"day":"Friday"
}]
}
}
答案 0 :(得分:1)
$ http服务返回一个承诺(这将打印在您的控制台日志中),这将在http调用完成后解析。
请查看有关延迟数据如何工作的$ q文档。
https://docs.angularjs.org/api/ng/service/$q
这应该有效,
$scope.booking= function(docid,addid){
$http({
method: 'POST',
url: "http://localhost:81/DoctorStayServiceAngular/model/getDoctorBookingDetail.php",
params:{"doctorid":docid,"addressid":addid,"day":weekday[d.getDay()]}
//params:{"doctorid":docid}
}).then(function mySucces(response) {
$scope.responseData = response.data;
});
};
在此之后,您可以将responseData中的数据绑定到您的视图。