簡體   English   中英

AngularJS $ http獲取數據對象顯示狀態代碼而不是響應

[英]AngularJS $http get data object displays status code instead of response

我已經仔細考慮了幾天,仍然無法弄清楚我做錯了什么,所以任何想法,甚至黑暗中的鏡頭都會受到贊賞。 我試圖使用AngularJS $ http get方法顯示從休息服務到用戶的響應,但是當我將數據對象打印到控制台時,我始終收到數字200(我相當肯定它是給予我的狀態代碼)。 我每次都取得了成功,在發送請求后,Chrome調試工具會向我顯示包含所有正確數據的響應。 我似乎無法讓它出現在變量顯示中。 如果你想到什么,請告訴我! 謝謝!

我的javascript:

$scope.resendDestinations = [];
$scope.resendDestGet = function () {
    var omtTypeCodeString = '';

    for(var i = 0; i < $scope.mySelections.length; i++){
        if(omtTypeCodeString == ''){
            omtTypeCodeString = $scope.mySelections[i].orderHeader.omtOrderTypeCode;
        }
        else{
            omtTypeCodeString = omtTypeCodeString + ',' + $scope.mySelections[i].orderHeader.omtOrderTypeCode;
        }
    }

    $http({
        method: 'GET',
        url: restService.pom + //service url,
        respondType: 'json',
        headers: {
             'Accept': 'application/json',
             'Content-Type': 'application/json',
             'Access-Control-Allow-Credentials': true
        },
        params: {
            orderTypeCode: omtTypeCodeString,
            transactionCode: 3
            }
        }).success(function (status, data, response, header) {
            console.log("Success!");
            //TODO see if this is being used... has to be
            status = parseInt(status);
            $scope.resendDestinations = data.multipleOrders;
            if (status == 200 && $scope.resendDestinations.length == 0) {
                $scope.bigAlert.title = 'Error',
                $scope.bigAlert.header = 'Search Error';
                $scope.bigAlert.content = 'Current search parameters do not match any results.';
                $scope.showBigAlert();
            }
            else{
                $scope.resendDestinations = data;
                console.log("Data DestinationList here: ");
                console.log($scope.resendDestinations);
                console.log(data.multipleOrders);
                console.log(data);
            }
            $scope.isSearching = false;
        }).error(function (response, data, status, header) {
           //Do error things
        });
    return $scope.resendDestinations;
};

和服務響應:

[{"destCode":3,"destDescr":"Repository","attributes":null},{"destCode":4,"destDescr":"Pipeline","attributes":null},{"destCode":1,"destDescr":"Processor","attributes":null},{"destCode":2,"destDescr":"DEW","attributes":null}, {"destCode":7,"destDescr":"Management System","attributes":null}, {"destCode":8,"destDescr":"Source","attributes":null}]

您的參數順序錯誤。 應該是: success(function(data, status, headers, config)

請參閱此處文檔(單擊)。

此外,通常優選.then()方法。 如果切換到那個,您將訪問如下數據:

.then(function(response) {
  var data = response.data;
  var status = response.status;
  //etc
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM