PythonBottle:访问请求POST数据中的数组变量
Python Bottle: Accessing array variable inside request POST data
我最近收到了一个部分完成的项目,我是使用Bottle的新手。我有一种情况,我在AJAX请求中发送一个字典,而Bottle在服务器端。字典看起来像这样(在JavaScript中):
var myInt = 5;
var myArray = [0, 1, 2];
var data = {
myInt: myInt,
myArray: myArray
};
然后,在Python中,我想读入这些数据。我好像搞不懂数组。我可以很好地得到int。我已经尝试了几种方法,但对我来说最有意义的方法仍然无效:
try:
myInt = int(request.forms.get('myInt'))
myArray = request.forms.getall('myArray')
这将导致myArray的列表为空。有人能给我指正确的方向吗?我在StackOverflow上读过所有类似的问题,但都无济于事。
我知道我可以把它变成一个用管道或其他东西分隔的字符串,但我想看看数组是否可以像这样发送。
谢谢!
使用request.json
:
try:
myInt = request.json['myInt']
myArray = request.json['myArray']
(假设您的客户端正在将content-type
设置为application/json
。)
这里有一个很好的例子。
不确定这是否是唯一的问题,但(我认为)您可能混淆了JSON数组和getall
的使用。您应该使用get
,而不是getall
,此处:
myArray = request.params.get('myArray')
如果我正确理解代码,getall
适用于具有多个同名参数的情况,如http://example.com/get?foo=1&foo=2
。
另一方面,myArray
变量只是对数组的单个引用。
希望这有帮助(即使它不能解决你的问题)。
var myInt = 5;
var myArray = [0, 1, 2];
var data = {
myInt: myInt,
myArray: JSON.stringify(myArray)
};
使用js中的JSON.stringify
和瓶内json_loads()
:
myInt = request.params.get('myInt')
myArray = json_loads(request.params.get('myArray'))
相关文章:
- Javascript:OnChange事件,将数组变量传递给另一个函数
- 在将csv文件中的数据分配给数组变量时增强了d3代码
- 是socket.io异步的-我需要锁定全局数组/变量吗
- 在Javascript代码中显示PHP数组变量
- 如何在不赋值数组变量的情况下读取数组数据
- 局部数组变量不是数组
- Javascript数组变量的行为不相同
- 正在尝试将Javascript数组变量分配给HTML输入值属性
- JQuery的PHP查询数组变量
- Javascript::如何将关联数组的键获取到数组变量
- 在jsp页面中获取javascript数组变量
- 输出数组变量javascript
- 如何将数组变量从Python插入到Javascript
- 将数组变量传递给函数的下一部分
- 使用 AJAX 调用将数组变量从 JS 传递到 PHP
- d3 本地存储比较数组 .filter 咖啡脚本;数组变量不起作用
- 我们可以更新一个javascript数组变量,而不使用ajax重新加载页面吗?
- 无法使用 JavaScript 将值读入全局数组变量
- 作为“名称”的Javascript数组变量不起作用
- 如何将数组变量合并为对象数组变量