我正在使用$ http制作api调用方法。
我希望在服务调用之前对请求做一些更改。因此,我在$ http的配置中使用transformRequest
。
但是,如果我在$ http配置中使用transformRequest
或transformResponse
,则此调用无效。
没有transformRequest
或transformResponse
api调用正常工作。
var deferred = $q.defer();
$http({
method: type,
url: url,
params: null,
data: data,
headers: null,
transformRequest: function(data, headersGetter) {
console.log('transformRequest');
},
transformResponse: function(data, headersGetter) {
console.log('transformRequest');
},
cache: false,
timeout: 120000 // 2 Min
})
.success(function(data, status, headers, config) {
deferred.resolve(data);
})
.error(function(data, status, headers, config) {
deferred.reject(data);
});
return deferred.promise;
我当前版本的angularjs是 1.2.21
答案 0 :(得分:0)
我需要从transformRequest
& transformResponse
。
更新的代码:
var deferred = $q.defer();
$http({
method: type,
url: url,
params: null,
data: data,
headers: null,
transformRequest: function(data, headersGetter) {
console.log('transformRequest');
// Do transformRequest stuff here
return angular.toJson(data);
},
transformResponse: function(data, headersGetter) {
console.log('transformRequest');
// Do transformResponse stuff here
return angular.fromJson(data);
},
cache: false,
timeout: 120000 // 2 Min
})
.success(function(data, status, headers, config) {
deferred.resolve(data);
})
.error(function(data, status, headers, config) {
deferred.reject(data);
});
return deferred.promise;