如何从angularjs中的$ http函数中获取值

时间:2016-06-03 11:02:05

标签: javascript php jquery angularjs json

我用角度创建了一个函数。它工作正常,可以得到正确的结果,但我的问题是我想要结果的特定节点。我曾与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"
        }]
    }
}

这是我在萤火虫中看到的 This is what i can see in firebug

扩展视图 Expanded view

所以我想从响应(在$$状态下)获得价值(我在图片中突出显示),我该怎么办?

简而言之,我怎样才能得到最终结果?

{
    "status":"success",
    "message":"",
    "booking":{
        "booking_detail": [{
            "session":null,
            "slot":null,
            "day":"Friday"
        }]
    }
}

1 个答案:

答案 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中的数据绑定到您的视图。