Angularjs success$http call ANGLARJS中未定义响应

Angularjs success$http call ANGLARJS中未定义响应,angularjs,http,response,Angularjs,Http,Response,虽然我的后端工作正常,我从邮递员精心编制的请求中得到了正确的响应 我在angularJS控制器中看不到响应。(我在控制器内执行此调用以简化情况) 我正在通过httpInterceptor传递令牌,它在我的应用程序的其余部分中运行良好 URL是正确的,因为我在控制台中获取了有效的错误号: POST(POST)(POST)(POST)(POST)(POST)(POST)(POST)(POST)(POST 422(不可处理实体) CategoryCtrl.js:64未定义 64行是一个控制台成功登录

虽然我的后端工作正常,我从邮递员精心编制的请求中得到了正确的响应

我在angularJS控制器中看不到响应。(我在控制器内执行此调用以简化情况)

我正在通过httpInterceptor传递令牌,它在我的应用程序的其余部分中运行良好

URL是正确的,因为我在控制台中获取了有效的错误号:

POST(POST)(POST)(POST)(POST)(POST)(POST)(POST)(POST)(POST

422(不可处理实体)

CategoryCtrl.js:64未定义

64行是一个控制台成功登录
。然后(函数…

邮件标题(我相信是)来自postman选项卡的响应标题(第一个屏幕截图中的Body第三个)

为什么响应是未定义的


*url代码中的哈希是我的。

当您在Postman中发出请求时,您在请求的头的Auth属性中传递了令牌。在您的代码中,您没有传递令牌。

从REST API请求中,您得到的响应状态为422,这意味着您有一个客户端错误。关于您的请求,您必须在ror将出现。要处理异步请求中的错误,还有第二个参数
。然后(mySuccessMethod(),myMethodOnError())
方法

有关期票的详细信息和方法


这是正确的,因为我的拦截器是为我做的,我忘了在问题中提到它,对不起。这也正常工作,因为它对应用程序的其余部分工作正常。无论如何,如果我不在头中传递令牌,那么我将在控制台中有401个错误状态,
未授权
。您需要在Postman scre中显示更多信息enshot。隐藏任何必要的内容。但是如果服务器针对Postman工作,那么Angular客户端代码可能是错误的。只需比较这两种情况。另一件事,您在代码中传递内容类型,但在Postman中不传递。也需要对此进行检查。我删除了内容类型头,但它仍然未定义。我知道这听起来像这是不可能的,但它仍然是
未定义的
的确。我将在第二节中提供更多的屏幕截图。邮递员正文:邮递员标题控制器中函数的代码(与下面的答案相比变化不大;61行是安慰未定义)在
之后添加的函数中,
未定义的
行仍然可以安慰您:(您确定您的AngularJS设置在请求中传递授权令牌(在网络选项卡中)吗?你能提供屏幕截图吗?我有404,因为我没有有效的令牌。你知道我将为未登录的用户隐藏这个,如果响应未定义,则处理错误,因为它只针对登录的用户。我接受你的回答,因为你检测到我的架构不好。抓住
$scope.click = function (auction_id) {
    $http({
        url: baseUrl + 'auctions/' + auction_id +'/followers',
        headers: {
            'Content-Type' : 'application/vnd.api+json'
        },
        method: 'POST'
    })
        .then(function(response) {
            console.log(response);
        })
        .catch(function(response) {
            return response;
        });
};
$scope.click = function (auction_id) {
$http({
    url: baseUrl + 'auctions/' + auction_id +'/followers',
    headers: {
        'Content-Type' : 'application/vnd.api+json'
    },
    method: 'POST'
})
    .then(function(response) {
        console.log(response);
    }, function(error) {
        // Here goes your code to handle an error with status 4XX 
        console.log(error)
    })
    .catch(function(response) {
        // Catch will come when you throw an error
        return response;
    });
};