我正在使用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是指向瓶子文档的链接,但我认为没有错误
有关如何访问参数的任何想法?感谢。
答案 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