获取错误的POST数据请求,Node JS express

时间:2016-01-15 13:55:40

标签: node.js express

我尝试解析来自其他服务器的POST请求,并且出于某种原因我将其作为JSON密钥获取。

以下是代码片段:

 var express = require('express');
 var app = express();
 var bodyParser = require('body-parser');

 ...   

 app.use(bodyParser.urlencoded({extended: false}));
 app.use(bodyParser.json());

 app.post('/sync/:method', onPostRequest);

 var onPostRequest = function(req,res){

   console.log(req.body);
   console.log(req.params);
}

服务器向我发送JSON数据:

{
  "sync": [
    {
      "provider_email": "myemail@gmail.com",
      "provider_name": "google",
      "provider_hostname": "none"
    }
  ]
} 

但Node JS将其视为:

{
'{"sync":[{"provider_email":"myemail@gmail.com","provider_name":"google","provider_hostname":"none"}]}':
 '' }

当您看到{key: value} = value''所在的key对象时: ' [{" provider_email":" myemail@gmail.com"," PROVIDER_NAME":"谷歌"" provider_hostname":"无"}]}'

我做错了什么?

我尝试设置app.use(bodyParser.urlencoded({extended: true}));并获得:

{ '{"sync":': { '{"provider_email":"myemail@gmail.com","provider_name":"google","provider_hostname":"none"}': '' } }

也许nodejs在我的字符串上执行“json_encode”,它已经是json编码的

有什么想法吗?

0 个答案:

没有答案