我正在尝试使用 AJAX 将一些数据从网站的前端传递到后端。这是我的 django View 中的发布请求 View :
def post(self, request):
id_ = request.GET.get('teacherID', None)
print(id_)
args = {}
return JsonResponse(args)
这是我在 javascript 中的函数。我知道正在传递正确的值,因为 console.log(teacher_id)
打印了正确的值。
function send(teacher_id){
console.log(teacher_id)
var url = window.location.pathname;
$.ajax({
method: "POST",
url: url,
data: {
'teacherID': teacher_id,
},
dataType: 'json',
success: function (data) {
//location.href = data.url;//<--Redirect on success
}
});
}
当代码运行时,并且运行我 View 中的打印语句时,无论teacher_id是什么,都会打印None
。
代码有什么问题吗?
最佳答案
在 Django View 中,使用 GET.get()
检索数据,同时 AJAX 请求使用 method: "POST"
发送数据。
POST
数据无法以与 GET
数据相同的方式检索,因此您应该更改数据发送方式(通过更改 方法
(在 AJAX 调用 GET
中)或使用相关的 POST
方法读取它。
您可以访问this Stack Overflow question如果您不确定使用哪种方法。
关于javascript - AJAX Post 请求不将值发送到 Django View,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48032772/