json.decoder.JSONDecodeError:预期值:第1行第1列(字符0)ajax请求
我有一个ajax请求,在django视图中,我有以下打印和输出 我这行有错误,我想不出原因json.decoder.JSONDecodeError:预期值:第1行第1列(字符0)ajax请求,ajax,django,Ajax,Django,我有一个ajax请求,在django视图中,我有以下打印和输出 我这行有错误,我想不出原因 parsed_json = json.loads(request.body) 我尝试用utf8解码请求正文,但没有任何更改 AJAX调用: $("#add_user_button").click(function (event) { event.preventDefault(); $.ajax({ type: "POST", url: '/user/'
parsed_json = json.loads(request.body)
我尝试用utf8解码请求正文,但没有任何更改
AJAX调用:
$("#add_user_button").click(function (event) {
event.preventDefault();
$.ajax({
type: "POST",
url: '/user/',
data:
{
'action': "addUser",
'username': $('#id_username').val(),
'password': $('#id_password').val(),
'groups': $('#id_groups').val()
}
,
contentType: 'application/json; charset=utf-8',
processData: false,
});
}
DJANGO视图打印:
print(request.POST.get("username"))
#print(request.encoding) #returns none
print("Request body is :")
print(request.body)
print(type(request.body))
产出:
hello
Request body is :
b'username=hello&password=world&csrfmiddlewaretoken=&addUser=Add+User'
<class 'bytes'>
你好
请求机构是:
b'username=hello&password=world&csrfmiddlewaretoken=&addUser=Add+User'
如果分析请求主体,您会发现它不是JSON,要发送JSON,您必须在来自对象的ajax请求中对其进行编码
$("#add_user_button").click(function (event) {
event.preventDefault();
$.ajax({
type: "POST",
url: '/user/',
data:
JSON.stringify({ // <--here
'action': "addUser",
'username': $('#id_username').val(),
'password': $('#id_password').val(),
'groups': $('#id_groups').val()
})
,
contentType: 'application/json; charset=utf-8'
});
}
$(“添加用户”按钮)。单击(功能(事件){
event.preventDefault();
$.ajax({
类型:“POST”,
url:“/user/”,
数据:
JSON.stringify({//