我正在尝试使用AJAX将一些数据从前端传递到我的站点的后端。这是我的django视图中的post请求视图:
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
}
});
}
运行代码并运行我视图中的print语句时,无论teacher_id是什么,都会打印None
。
代码有什么问题?
在您的Django视图中,使用GET.get()
检索数据,而AJAX请求使用method: "POST"
发送它。
无法以与POST
数据相同的方式检索GET
数据,因此您应该更改数据的发送方式(通过将AJAX调用中的method
更改为GET
)或使用相关的POST
方法读取它。
如果您怀疑使用哪种方法,可以访问this Stack Overflow question。