node.js - angularjs 的$http服务中配置transformRequest参数进行post请求,node后端报错
PHP中文网
PHP中文网 2017-04-17 11:22:56
[Node.js讨论组]

在$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);

谢谢大家~~~

PHP中文网
PHP中文网

认证高级PHP讲师

全部回复(1)
黄舟

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

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号