AJAX Post请求不向Django View

时间:2017-12-30 09:49:18

标签: javascript jquery python ajax django

我正在尝试使用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

代码有什么问题?

1 个答案:

答案 0 :(得分:2)

在Django视图中,当AJAX请求使用GET.get()发送数据时,使用method: "POST"检索数据。

无法以与POST数据相同的方式检索

GET数据,因此您应该更改数据的发送方式(通过更改AJAX调用中的methodGET)或使用相关的POST方法阅读。

如果您怀疑使用哪种方法,可以访问this Stack Overflow question