javascript - AJAX Post 请求不将值发送到 Django View

标签 javascript jquery python ajax django

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

相关文章:

javascript - 未捕获的类型错误 : Cannot read property 'style' of null concerning a script in an echo

python - 数据的文档字符串?

python模拟异常处理

Javascript 解析/评估顺序?

javascript - 当我在 Javascript 中的 .exec() 结果上使用 .index 时,它是如何工作的?

javascript - jQuery 在另一个元素上触发 ("mouseenter"时从元素获取文本

python - 在 Django 中注册多个信号

javascript - JavaScript 函数的默认值在 JS Fiddle 中抛出错误

javascript - 在通过 AJAX 传递给 JavaScript 函数的 HTML 字符串中插入 PHP 变量?

jQuery 验证插件 : accept only alphabetical characters?