gpt4 book ai didi

javascript - HTTP 响应对象中缺少数据字段。我怎样才能访问它?

转载 作者:行者123 更新时间:2023-12-03 04:25:41 26 4
gpt4 key购买 nike

我想使用

访问订单数据

$scope.hero.order = response.data;

但是它给出了未定义的错误,当我检查响应对象时,没有通常出现的data字段,有人可以强调我的错误吗?

Image is shown

OrderService.js

angular.module('Orders')
.service('OrderService', ['$http', '$state', '$resource', '$q', 'SettingService', '$localStorage', "MessageService",
function($http, $state, $resource, $q, SettingService, $localStorage, MessageService) {
var orderResource = $resource(SettingService.baseUrl + "api/orders/:id", {id:'@id'}, {'query':{method:'GET', isArray:false}, 'update':{method:'PATCH'}});
var service = {
getOrder : function(OrderId, successCallback, failureCallback){
orderResource.query({id:OrderId}, successCallback, failureCallback);
}
}
return service;
}]);

最佳答案

您收到“未定义错误”,因为 orderResource.query() 成功回调的第一个参数是响应正文(在您的情况下为订单对象),而不是响应对象。因此,您的成功回调函数应如下所示:

function(order, getResponseHeaders, status, statusText) {
$scope.hero.order = order;
...
}

您可以引用$resourcedocument :

Success callback is called with (value (Object|Array), responseHeaders (Function), status (number), statusText (string)) arguments

您现在所做的(尝试从 response.data 获取订单对象)是 $http ( doc ) -- $http 的行为 的成功回调将接收一个 response 对象,其 data 字段引用 http 响应正文。然而,$resource 的情况有所不同——正文、 header 、状态等都是按顺序作为参数传递的。

看起来 AngularJS 应该调整行为,但不幸的是它没有。

关于javascript - HTTP 响应对象中缺少数据字段。我怎样才能访问它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43736693/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com