访问瓶子帖子参数

时间:2017-11-28 09:23:31

标签: python node.js windows bottle

我正在使用axios库

将两个post参数与节点js发布到瓶子服务
var axios = require('axios')

axios.post('http://localhost:8080/filter-tags', {
   xml: 'Fred',
   tags: 'Flintstone'
})
.then(function (response) {
    console.log(response);
})
.catch(function (error) {
    console.log(error);
});

我的奶瓶服务是

from bottle import route, run, request
from pprint import pprint

@route('/filter-tags', method='POST')
def filterTags():
    xml1 = request.POST.xml
    xml2 = request.forms.get('xml')
    print(pprint(vars(request.POST)))
    print('-->' + xml1 +'<----')
    print(xml2)
    return 'trololo'

run(host='localhost', port=8080, debug=True)

我的输出是

 {'dict': {'{"xml":"Fred","tags":"Flintstone"}': ['']}} 
 None  // don't know why this value appears here
 --><----  // xml1
 None // xml2

Here是指向瓶子文档的链接,但我认为没有错误

有关如何访问参数的任何想法?感谢。

1 个答案:

答案 0 :(得分:1)

By default, axios serializes JavaScript objects to JSON。我相信你正在使用Node.js库。请考虑使用querystring发送application/x-www-form-urlencoded格式

var querystring = require('querystring');
axios.post('http://localhost:8080/filter-tags', querystring.stringify({ 
   xml: 'Fred',
   tags: 'Flintstone'

}));

通过这样做,您将获得{'dict': {'xml': ['Fred'], 'tags': ['Flintstone']}},这很容易获得数据。在这种情况下只需request.POST.xml