未捕获的ReferenceError:未定义响应

时间:2019-03-20 19:31:26

标签: javascript ajax django

我试图在Django网站的简单区域使用ajax。点击喜欢按钮就喜欢帖子,但html不变。如果我刷新页面,则html会更改。

控制台显示以下错误

  

未捕获的ReferenceError:未定义响应       at Object.success((索引):271)       在你(jquery.min.js:2)       在Object.fireWith [as resolveWith](jquery.min.js:2)       在k(jquery.min.js:2)       在XMLHttpRequest。 (jquery.min.js:2)

JavaScript在下面给出

<script type="text/javascript">

  $(document).ready(function(event){
    $(document).on('click','#like', function(event){
      event.preventDefault();
      var pk= $(this).attr('value');
      $.ajax({
        type:'POST',
        url:'{% url "like_post" post.id %}',
        data:{'blog_id':pk,'csrfmiddlewaretoken':'{{ csrf_token}}'},
        dataType:'json',
        success: function(event){
          $('#like-section').html(response['form'])
        },
        fail:function(rs, e){
          console.log(rs, responseText);
        },
      });
    });
  });
</script>
该部分的

html

<div>
            <form action="{% url 'like_post' post.id %}">
              {% csrf_token %}
              {% if is_liked %}

                    <button id="like" type='submit' name='blog_id' value="{{ post.id }}" class="btn ">unlike</button>

              {% else %}

                    <button id="like" type='submit' name='blog_id' value="{{ post.id }}" class="btn ">like</button>
              {% endif %}
            </form>
</div>

下面是html页面的代码

<div id="like-section">

              {% include 'blog/like_section.html' %}
            </div>

2 个答案:

答案 0 :(得分:1)

您的变量“响应”未定义。您的ajax成功处理程序具有“事件”,将“事件”更改为“响应”,它应该可以工作。

success: function(response){
    $('#like-section').html(response['form'])
},

答案 1 :(得分:1)

您收到此错误,因为您的成功方法不知道响应是什么。尝试传递响应而不是事件,检查event [response] ['form'],或记录事件对象以查找所需的内容。