作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试将数组作为参数发送到使用 python 和 django
框架的 api。
这是我用于访问 api
的客户端代码:
$.ajax(
type: 'POST',
url: 'http://example.com/api/users',
data: {user:{name:'Rohit Khatri', age:20, father_name:'S.K'},type:'info'},
complete: function(response) {
console.log(response);
}
);
这是我尝试访问请求参数的 View
def get_users(request):
print(request.POST.get('ids'))
当我尝试访问 ids
参数时,它给出 None。如果有人遇到同样的问题,请帮助我。
最佳答案
您可以尝试如下获取列表:
request.POST.getlist('ids[]')
注意:如果您以 JSON
格式发送/接收数据,效果会更好。您首先需要在发送请求时将 Accept
和 Content-Type
header 设置为 application/json
,然后使用将 json 转换为 python 对象json.loads
。示例如下:
$.ajax(
type: 'POST',
url: 'http://example.com/api/users',
contentType: 'application/json'
data: {ids:[1,2,3,4,5],type:'info'},
complete: function(response) {
console.log(response);
}
);
import json
def get_users(request):
ids = request.POST.get('ids')
if ids:
ids = json.loads(ids)
如果您需要使用更复杂的数据,例如使用 json 的对象(字典)将是您最好的选择,它的工作方式与上面的示例非常相似。
$.ajax(
type: 'POST',
url: 'http://example.com/api/users',
contentType: 'application/json'
data: {ids:{"x":"a", "y":"b", "z":"c"}, type:'info'},
complete: function(response) {
console.log(response);
}
);
import json
def get_users(request):
ids = request.POST.get('ids')
if ids:
ids = json.loads(ids)
关于python - 如何在发布数据python中接收字典,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40757608/
我是一名优秀的程序员,十分优秀!