Angular $ http.post - > Express:停止将数字转换为字符串

时间:2014-03-21 17:38:06

标签: node.js angularjs express

我尝试使用

从angular到express发送数据($ scope.resto是我表单中所有输入字段的模型)
console.log($scope.resto);
$http({
    method: 'POST',
    url: '/new',
            contentType: 'application/json',
    params: $scope.resto....

$ scope.resto是一个具有各种字符串和数字值的对象。并在服务器端

app.post '/new', express.bodyParser(), (req, res) ->
    data = req.query

我尝试使用JSON.stringify($ scope.resto)但导致req.query(req.body是一个空对象)是一个以整数作为键的对象,每个字段只是json字符串中的一个字符。这完全无法使用,但我不知道自己做错了什么。很高兴添加更多代码片段,但这些是基础知识。

(当我向客户端发送数据时,保存数值没有问题!)

1 个答案:

答案 0 :(得分:0)

您使用POST方法将表单数据作为查询参数发送。您是否尝试过使用数据而非参数 params 是您通常用于" GET"请求。

$http({
   method: 'POST',
   url: '/new',
   contentType: 'application/json',
   data: $scope.resto //Assuming $scope.resto contains an object with simple key:value pairs
});

从我发现的情况来看,使用POST发送params会导致参数被添加到请求正文中,但是看到你可能发送{...},它可能会反应奇怪

我最好的一点是,如果没有解决它,你必须提供更多的背景信息。