我正在学习Ajax,遇到一个小问题。

我正在尝试使用ajax向django后端提交POST请求。
即使警报也不会显示在屏幕上。
正如我在测试django服务器外壳中看到的那样,它甚至没有提交POST请求。

编码:

<script type="text/javascript">
    $('#btnLike').on('click', function(event) {
     alert('ok');

      $.ajax({
       type: 'POST',
        url: 'http://127.0.0.1:8000/backend/website/like', /* for testig */
        data: {
         csrfmiddlewaretoken: {% csrf_token %},
         post_id = $('#post_id').val(),
         },
       });
      });
</script>


HTML形式:

<form onsubmit="return false">
 {% csrf_token %}
 <input type="text" name="post_id" value= {{post.pk}} hidden="hidden">
 <button type="submit" name="btnLike" class="btn btn-info">Like</button>
</form>


我知道我做错了什么,但我不知道该怎么办。

最佳答案

您的选择器$('#btnLike')不正确,它正在寻找带有id="btnLike"的按钮。

尝试这个:

<button type="submit" id="btnLike" class="btn btn-info">Like</button>


请确保在HTML中加载jQuery库并将所有jQuery代码包装到

$(document).ready(function(){
    //your code goes here
 });

09-18 04:53