javascript - 如何简单地编写Ajax脚本(删除重复代码)?

标签 javascript jquery html ajax

我想简化以下脚本,并创建一个可重用的函数, 我使用它:

<span id="test"></span>
<span id="abc"></span>
<span id="123"></span>

现在是这样:

<script>
  $(document).ready(function(){
    var callAjax = function(){
      $.ajax({
        method:'get',
        url:'abctest.php',
        success:function(data){
          $("#test").html(data);
        }
      });
    }
    setInterval(callAjax,1000);
  });  

  $(document).ready(function(){
    var callAjax = function(){
      $.ajax({
        method:'get',
        url:'getabc.php',
        success:function(data){
          $("#abc").html(data);
        }
      });
    }
    setInterval(callAjax,1000);
  });

  $(document).ready(function(){
    var callAjax = function(){
      $.ajax({
        method:'get',
        url:'123.php',
        success:function(data){
          $("#123").html(data);
        }
      });
    }
    setInterval(callAjax,1000);
  });
</script>

如您所见,我所需要做的就是更改 url 和 #,因此我创建了一个函数:

function good(url,tag){
    var callAjax = function(){
      $.ajax({
        method:'get',
        url:'url.php',
        success:function(data){
          $("#tag").html(data);
        }
      });
    }
    setInterval(callAjax,1000);
  }

并将脚本重写为:

<script>
$(document).ready(good(abctest,test));
$(document).ready(good(getabc,abc));
$(document).ready(good(123,123));
</script>

看起来好多了。但似乎没那么容易。 它不工作。如何解决这个问题?

最佳答案

你就快到了。您需要手动连接字符串,例如

function good(url,tag){
    var callAjax = function(){
      $.ajax({
        method:'get',
        url:url+'.php',
        success:function(data){
          $("#"+tag).html(data);
        }
      });
    }
    setInterval(callAjax,1000);
  }

Javascriptphp 不同,其中变量可以在双引号之间进行计算。

此外,您需要将参数作为字符串传递

$(document).ready(function(){
    good('abctest','test');
    good('getabc','abc');
    good('123','123');
});

关于javascript - 如何简单地编写Ajax脚本(删除重复代码)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30549245/

相关文章:

javascript不想解析文本超过两次

html - 当我想要不同的时,堆叠的进度条以相同的颜色出现

javascript - 测试 IOS Safari anchor 链接

javascript - 要求YouTube API的视频在HTML页面中播放

php - 是否可以在 magento 中显示关联产品的属性?

javascript - 如何有效地从 javascript 访问 gzipped xml?

Jquery无限滚动-div上的滚动条而不是body上的

javascript - 检测元素出现在 DOM 中的确切时刻

php - 一次跟随一个从 PHP 数组返回的链接,并暂停

php - 如何使用 jQuery 初始化 href