我试图在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>
答案 0 :(得分:1)
您的变量“响应”未定义。您的ajax成功处理程序具有“事件”,将“事件”更改为“响应”,它应该可以工作。
success: function(response){
$('#like-section').html(response['form'])
},
答案 1 :(得分:1)
您收到此错误,因为您的成功方法不知道响应是什么。尝试传递响应而不是事件,检查event [response] ['form'],或记录事件对象以查找所需的内容。