首页 > angularjs 的$http服务中配置transformRequest参数进行post请求,node后端报错

angularjs 的$http服务中配置transformRequest参数进行post请求,node后端报错

在$http中使用了transformRequest来转换请求数据的格式,但是发现,无论即使我返回的还是原来的数据,只要使用了这个函数,后端就会报错.请求是发送了的.代码如下:

var httpGet = angular.module('HttpGet',[]);
//使用这种方式也是不行哒~~~
/*httpGet.config(function($httpProvider){
    $httpProvider.defaults.transformRequest=function(data){
        console.log(data);
        return data
    }
});*/
httpGet.factory('getData',function($http,$q){
    return function(){
        var defer = $q.defer();
        $http({
            method:'post',
            url:'/api/user',
            data: {name:"code_bunny"},
            headers: {'Authorization':'code_bunny'},
            transformRequest:function(data){
                return data
            }
        }).success(function(data,status,headers,config){
            defer.resolve(data);
        }).error(function(data,status,headers,config){
            defer.reject(data)
        });
        return defer.promise
    }
});

为了测试,我不对请求数据做处理,直接返回data,请求数据确实是发送了的.但是node后端却报错了.错误是 "unexpected token o",但是把transformRequest项删掉,一切正常.请问是什么原因.
node代码:

var express = require('express');
var app = express();
app.use(express.bodyParser());
app.use(express.static(__dirname+''));

app.post('/api/user',function(req,res){
    console.log(req.body);
    res.send(req.body)
});

app.listen(3000);

谢谢大家~~~


看情况似乎是有一个token,然后 transformRequest 之后导致token解析出错。
不知道是不是这个引起的 (/ □ )。

【热门文章】
【热门文章】