首页 > 解决方案 > Django 中的网络聊天应用程序

问题描述

我是 Django 新手,试图开发一个聊天网络项目并卡住了。有人可以帮助我应该使用哪种方法吗?我想在不更改 URL 的情况下将文本框数据传递给 Python,但我无法传递它。我的 Javascript 代码

$("#button").click(function(){
var msg = $('#textbox').val();  
$("<div class='user' id='user'>"+msg+"</div>").insertBefore('.insert_after');
$('.msg_body').scrollTop($('.msg_body')[0].scrollHeight);

我在下面使用了这个 ajax 代码。但是我无法在 views.py 文件中检索结果

$('.ajaxProgress').show();
    $.ajax({
        type: "POST",
        url: "http://localhost:8080/bot/",
        dataType: "json",
        async: true,
        data:{
            csrfmiddlewaretoken: '{{ csrf_token }}',
            message: $('#textbox').val()
        },
        success: function(json){
            $('#test').html(json.message);
            $('.ajaxProgress').hide();
        }
    });
    $('#textbox').val("");

    });

有人可以解释一下我如何在views.py中使用它。我收到 csrf_token 的禁止错误,

标签: djangopython-3.x

解决方案


在你的 js 代码中有一个小错误

$(document).ready(function() {
  $("#button").click(function(){
    //some code
    var msg = $('#textbox').val();  
    $('#textbox').val("");                 /*if you are assigning "" to textbox */
    $.ajax({
      type: "POST",
      url: "/bot/",
      dataType: "json",
      async: true,
      data:{
          csrfmiddlewaretoken: '{{ csrf_token }}',
          message: msg                                   /*then here you have to use msg*/
      },
      success: function(json){
        //further code
      }
    });
    $('#textbox').val("");
  });
});

并谈论csrf_token 的 Forbidden 错误,您必须参考问题才能解决

在此处参考工作代码


推荐阅读