AJAX调用工作但页面没有更新

时间:2017-10-03 02:02:58

标签: javascript jquery python ajax

我正在使用python flask,我希望按钮的状态从"更改为"在用户点击它时喜欢。我没有控制台错误,XHR完全加载。如果我单击按钮并手动重新加载页面,按钮的状态会发生变化,但我想用Ajax重新加载。这是我的代码,提前谢谢。 后端返回带有jsonify的JSON对象。

HTML:

<button class="btn btn-pill btn-warning btn-xs" id="async_like">
<span class="icon icon-thumbs-up"></span> Like

jQuery的:

<script>
$('button#async_like').click(function () {

  $.ajax({
    url :"{{ url_for('.like_post', id=post.id) }}",
    type : 'POST',
    success : function (resp) {
        $('#async_like').append(resp);
    }
  })
})
</script>

1 个答案:

答案 0 :(得分:0)

一种可能的方法是在重新加载HTML文档时使用查询字符串参数。在load事件window检查location.search是否为空字符串,或者是特定键值对,如果条件为真,则使用查询字符串键设置HTML值。

$.ajax()
.then(resp => {
  $("#async_like").html(resp);
  location.href = location.href + "?button=" + resp
})

在每个HTML .ready()的{​​{1}}别名jQuery(),检查查询字符串是否存在以设置元素的HTML

document

plnkr http://plnkr.co/edit/3VQVSevHFvSE8SYcNEvU?p=preview