如何从 AngularJS POST 请求访问响应?

科林哈里森

我有一个用于登录我的 Web 应用程序的服务,其中包含以下代码:

angular.
module('core.user').
factory('User', ['$resource',
    function($resource) {
        var url = 'http://xxx.xx.xx.xxx:3000/api/authenticate'
        return $resource(url, {}, {
            save: {
                method: 'POST',
                params: {},
            }
        })
    }
]);

此请求不是在本网站上的大多数答案所引用的常用 $http.post() 方法中发出的。

我希望访问此请求的响应,因为它带有令牌 (JWT),我可以看到这在 Postman 中有效。我可以使用类似的服务访问来自 GET 请求的响应,<serviceName>.$promise.then((data) => {// access data here})但是当我使用 POST 请求时,我不能使用.then()也不能.success()

以下是我尝试访问 POST 响应的方式:

angular.
module('signIn').
component('signIn', {
    templateUrl: 'sign-in/sign-in.template.html',
    controller: ['$resource', 'Company', 'User', '$scope', '$rootScope', '$window',
        function CompanyListController($resource, Company, User, $scope, $rootScope, $window) {

            // Initialize Variables //
                var self = this;
                self.companies = Company.query();
                self.companies.$promise.then(function(data) {
                    var hold = data
                    data = [];
                    for (var i = 0; i < hold.length; i ++) {
                        if (hold[i].CompanyID) {
                            data.push(hold[i])
                        }
                    }
                    self.companies = data;
                })
                self.user = new User();
            // Initialize Variables //

            // Sign In Function //
                self.signIn = function() {
                    if (self.user.name && self.user.password && self.companyID){
                        self.user.$save()
                        location.href = "#!/" + self.companyID
                    }
                }
            // Sign In Function //

        }
    ]
});

如何从我的 POST 请求访问响应中的令牌?

粗糙的

你可以这样做

self.user.$save(function(response){
    //here is the response
}, function(error){
})

或者像这样

self.user.$save().$promise.then(function(response){
    //here is the response
}, function(error){
})

有角度的 $resource 文档

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何使AngularJS响应外部请求?

如何在Flutter中访问从HTTP POST请求获得的JSON响应?

在Node.js中模拟POST请求后如何访问响应正文?

如何发送POST请求并获得文件响应?

如何获得Retrofit POST请求的响应

如何将对AngularJS $ http POST的响应返回到Sinatra?

如何从AngularJS POST请求中检索身份值

如何在AngularJS页面中接收POST请求?

PHP在处理来自angularjs的POST请求后返回html响应

如何从 POST 请求响应中获取响应头

如何从Airflow SimpleHttpOperator GET请求访问响应

如何在Slim中访问POST请求的JSON请求正文?

AngularJS POST发出空请求?

如何响应 Node.js 中的 post 请求?

更改JSON响应如何导致POST请求 DRF?

如何从ajax post请求中获取响应头

如何格式化ajax POST请求的响应?

PHP:如何从$ .post请求返回数据作为响应?

如何从请求中返回响应(post | get)?

如何从NodeJS中的函数返回Post请求的响应?

如何发出HTTP Post请求并以JSON Android获取响应

Angularjs - 对预检请求的响应未通过访问控制

如何在angularjs中等待直到响应来自$ http请求?

如何等待响应来自 $resource 请求,在 angularjs 中?

无法将ExpressJ与AngularJs POST请求一起使用来访问POST参数

我有一个中间件,我想在其中记录每个请求/响应。如何访问POST数据?

如何在 Kotlin 中全局访问 POST 响应?

我如何在.then函数AngularJS中访问响应标头

如何访问POST请求中的嵌入式键值