Roh*_*tri 2 python django parameters dictionary request
我正在尝试将数组作为参数发送到使用 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);
}
);
Run Code Online (Sandbox Code Playgroud)
这是我尝试访问请求参数的视图
def get_users(request):
print(request.POST.get('ids'))
Run Code Online (Sandbox Code Playgroud)
当我尝试访问ids参数时,它没有给出。如果有人遇到同样的问题,请帮助我。
您可以尝试按如下方式获取列表:
request.POST.getlist('ids[]')
Run Code Online (Sandbox Code Playgroud)
注意:如果您将数据发送/接收为JSON. 您首先需要在发送请求时设置Accept和Content-Type标头application/json,然后使用 .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);
}
);
Run Code Online (Sandbox Code Playgroud)
import json
def get_users(request):
ids = request.POST.get('ids')
if ids:
ids = json.loads(ids)
Run Code Online (Sandbox Code Playgroud)
如果您需要使用更复杂的数据,例如使用 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);
}
);
Run Code Online (Sandbox Code Playgroud)
import json
def get_users(request):
ids = request.POST.get('ids')
if ids:
ids = json.loads(ids)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9455 次 |
| 最近记录: |