Python Post Request Body在发送时在节点服务器中显示为空

时间:2015-09-15 14:56:27

标签: python node.js express request http-post

我正在尝试通过Python将发布请求发送到我的node.js服务器

我的python代码如下:

payload = {
    'tableName': 'events', 
    'whereParams': {
        'end_date': ['between', yesterday, today]
    }
}

payload = json.dumps(payload)

url = 'http://127.0.0.1:8081/search'
headers = {'Content-type': 'application/json', 'Accept': 'text/plain'}
r = requests.post(url, headers=headers, data=payload)

jd = r.json()
print jd

我的节点服务器文件如下所示:

  app = express()
  app.use busboyBodyParser()
  app.use bodyParser.urlencoded({ extended: true })
  app.engine 'html', hogan
  app.set 'view engine', 'html'

  app.post "/search", (req, res, next) ->
    queryController.retrieve req, res, next

我的节点中的控制器如下所示:

exports.retrieve = (req, res, next) ->
  body = req.body
  console.log body

在Node中,如果我在python中打印有效负载,则正文被隐藏为{},它正确显示为:{"whereParams": {"end_date": ["between", "2015-09-14 00:00:00", "2015-09-15 00:00:00"]}, "tableName": "events"}

1 个答案:

答案 0 :(得分:1)

我发现我的服务器代码中缺少app.use bodyParser.json(),这似乎阻止服务器解析不包含文件的多部分表单数据。