javascript - AJAX 帖子和页面刷新

标签 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,并且每个用户可以更改一次。

更新似乎重新加载它与定义为的另一个函数有关

$(文档).ready(function() {

所以我的 body 有一个,头部有一个。

最佳答案

当然,它会刷新页面,您将通过 href 向其发送一个链接。相反,删除 href,并放置 onclick 事件和处理程序。将您的 anchor 标记替换为:

<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> 

关于javascript - AJAX 帖子和页面刷新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46853011/

相关文章:

javascript - php,将ajax传递的值添加到变量

ajax - 即使我得到的响应为readyStatus 4和status 200,Jquery Ajax调用也会进入错误回调

php - 如何给这个表一个边界半径?

javascript - jQuery - 如果不存在则将更改事件附加到输入元素

javascript - 按下鼠标按钮时重复执行代码

javascript - 查找页面的整个宽度,包括水平滚动条

javascript - 两个文本框同时变化[JQuery]

javascript - 网站中的 gill sans light 字体

javascript - 如何将集合传递给 angular.js 中的指令?

javascript - 以 JSON 形式返回字典并使用 JS 函数成功访问其内容 - C#