转换请求在 angularjs 1.2.21 中不起作用

transformRequest not working in angularjs 1.2.21

本文关键字:不起作用 请求 angularjs 转换      更新时间:2023-09-26

我正在使用$http进行api调用方法。
我想在服务呼叫之前对请求进行一些更改。因此,我在$http配置中使用transformRequest。但是如果我在配置中使用transformRequesttransformResponse,则此调用不起作用$http。
如果没有transformRequesttransformResponse 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

我需要从transformRequesttransformResponse返回数据。
更新的代码:

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;