使用ajax将数据发布到Django视图不起作用

2024-03-28 20:12:46 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个视图,我想使用ajax方法发布数据,但它并没有进入视图来打印内容。你知道吗

我的javascript代码:

$("#id").click(aa);
var aa= function() {
var id= $("#id");

$.ajax({
    url: "ajax/id",
    method: "POST",
    data: { user: id, csrfmiddlewaretoken: csrftoken },
    context: document.body
}).done(function(data) {

    alert("Success");

}).fail(function(returnedText) {
    console.log(returnedText.responseText);
});

}

我的Django观点:

def id(request):
    print("aa");
    users = request.POST['user']

我的URL:

path('/ajax/id', views.id, name='id')

Tags: 数据方法视图id内容datarequestvar
1条回答
网友
1楼 · 发布于 2024-03-28 20:12:46

您可以改用请求头

const Cookies = require('js-cookie');

(($) => {
  const csrfSafeMethod = method => /^(GET|HEAD|OPTIONS|TRACE)$/.test(method);
  $.ajaxSetup({
    beforeSend(xhr, settings) {
      if (!csrfSafeMethod(settings.method) && !this.crossDomain) {
        xhr.setRequestHeader('X-CSRFToken', Cookies.get('csrftoken'));
      }
    },
  });
})(window.jQuery);

错误是url使用url: "/ajax/id",而不是url:“ajax/id”,并且直接访问POST dict id也是内置函数请尝试重命名您的函数以不掩盖内置函数。你知道吗

users = request.POST.get('user')

而你没有

相关问题 更多 >