AJAX帖子和页面刷新

时间:2017-10-20 16:03:37

标签: javascript jquery ajax

我有和AJAX发布请求:

$(document).ready(function() {
  $("span").click(function(e) {
    e.preventDefault();
    e.stopPropagation();
    var URL = "someURL";
    $.post(URL, this.id, function(data, status) {
      var val = parseInt(document.getElementById(this.data).innerHTML)
      document.getElementById(id).innerHTML = val + 1 ;
      document.getElementById(id).disabled=true;
    });
  });
});
<a href="/book/test/1">Read</a>
<span id="${book.id}">

此脚本按预期工作;一个数字在其中的按钮增加一个。 问题是:

  • 刷新页面。点击按钮,它会重新加载页面上的所有内容。
  • 我无法在更改后禁用按钮

简而言之,我需要一个增加1的计数按钮,每个用户可以更改一次。

更新似乎重新加载与另一个定义为

的功能有关

$(document).ready(function() {

所以我身体中有一个,头部中有一个。

1 个答案:

答案 0 :(得分:1)

当然它刷新页面,你发送一个链接去通过href。相反,删除href,并放置一个onclick事件和处理程序。用以下代码替换你的锚标签:

<a onclick="runFunction()">Read</a>

用这个替换你的脚本。

<script>
function runFunction(){
$(document).ready(function(){
   $("span").click(function(e){
       e.preventDefault();
       e.stopPropagation();
       var URL="someURL";
       $.post(URL,
        this.id,
       function(data,status){
           var val = parseInt(document.getElementById(this.data).innerHTML)
           document.getElementById(id).innerHTML = val + 1 ;
           document.getElementById(id).disabled=true;
       });
   });
 });
}
</script>