angularjs – 如何使用transformRequest和transformResponse修改
发布时间:2020-12-17 08:06:15 所属栏目:安全 来源:网络整理
导读:我正在使用符合 JSONAPI标准的API,其中一种格式要求是所有数据(传入和传出)都必须包含在数据对象中。所以我的请求看起来像: { "data": { "email": "email@example.com","password": "pass","type": "sessions" }} 我的回答如下: { "data": { "user_id": 1
我正在使用符合
JSONAPI标准的API,其中一种格式要求是所有数据(传入和传出)都必须包含在数据对象中。所以我的请求看起来像:
{ "data": { "email": "email@example.com","password": "pass","type": "sessions" } } 我的回答如下: { "data": { "user_id": 13,"expires": 7200,"token": "gpKkNpSIzxrkYbQiYxc6us0yDeqRPNRb9Lo1YRMocyXnXbcwXlyedjPZi88yft3y" } } 在我的控制器中,当进行新的会话请求时,我有: $scope.signin = -> session = new Session email: $scope.user.email password: $scope.user.password session.$save() console.log session console.log session.token if not session.token alert 'Invalid Login' else $rootScope.session_token = session.token $state.go 'app.dashboard' 我的会话是一个工厂,看起来像: angular.module('webapp').factory 'Session',[ '$resource' ($resource) -> $resource 'http://localhost:9500/v1/sessions',id: '@id',save: method: 'POST' transformRequest: (data) -> result = data: JSON.parse JSON.stringify data result.data.types = 'sessions' result = JSON.stringify result result transformResponse: (data) -> result = JSON.parse data a = JSON.parse JSON.stringify result.data console.log a a 请求是罚款。格式化和解析似乎有效。但是,当我记录它的响应显示为资源,而不是对象。即使服务器返回有效的数据,session.token显示为未定义。 如何修改我的transformResponse来解释这个问题?
我想你想要的是用承诺捕获你的资源回应:
session.$save().$promise.then(function (result) { console.log (result); }); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |