【问题标题】:How to get value from $http function in angularjs如何从 angularjs 中的 $http 函数获取价值
【发布时间】:2016-06-03 11:02:04
【问题描述】:

我已经用 Angular 创建了一个函数。它工作正常并且可以获得正确的结果,但我的问题是我想要结果中的特定节点。我使用过 JSON 和 Jquery,但我是 Angular 的新手。

这是我的代码。

$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"
        }]
    }
}

这就是我在萤火虫中看到的方式

扩展视图

所以我想从响应(在 $$state 下)获取值(我在图像中突出显示),我应该怎么做?

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

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

【问题讨论】:

  • {"status":"success","message":"","booking":{"booking_detail":[{"session":null,"slot":null,"day":"Friday" }]}} 在这个结果中没有value。如果是错字,那么response.value 就是您的答案。
  • 是的,结果中没有任何值,但是就像我打印控制台日志时一样,在 $$state 下有值节点,如图所示。
  • $scope.result = response;response.data 控制台响应一次,结果必须是{"status":"success","message":"","booking":{"booking_detail":[{"session":null,"‌​slot":null,"day":"Friday" }]}}
  • a$http 承诺。如图所示,您需要在函数返回时使用then()。显示你在哪里使用这个功能

标签: javascript php jquery angularjs json


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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-05-11
    • 2023-03-18
    • 2019-07-03
    • 2014-11-12
    • 2016-01-10
    • 1970-01-01
    相关资源
    最近更新 更多