我正在尝试使用AJAX将一些数据从前端传递到我的站点的后端。这是我的django视图中的post request视图:
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
。
代码有什么问题?
答案 0 :(得分:2)
在Django视图中,当AJAX请求使用GET.get()
发送数据时,使用method: "POST"
检索数据。
POST
数据相同的方式检索 GET
数据,因此您应该更改数据的发送方式(通过更改AJAX调用中的method
到GET
)或使用相关的POST
方法阅读。
如果您怀疑使用哪种方法,可以访问this Stack Overflow question。