Javascript 重新运行Ajax脚本?

Javascript 重新运行Ajax脚本?,javascript,jquery,html,ajax,Javascript,Jquery,Html,Ajax,如果我有一个像下面这样的脚本,它运行来加载一个表,其中包含从外部PHP文件注入到该表中的数据,并将其加载到页面上 <script> $(document).ready(function(){ var response = ''; $.ajax({ type: "GET", url: "Records.php", success : function(text)

如果我有一个像下面这样的脚本,它运行来加载一个表,其中包含从外部PHP文件注入到该表中的数据,并将其加载到页面上

<script>
      $(document).ready(function(){
       var response = '';
        $.ajax({ type: "GET",   
          url: "Records.php",   
             success : function(text)
              {
                response = text;
              }
           });

           alert(response);
         });
</script>

$(文档).ready(函数(){
var响应=“”;
$.ajax({type:“GET”,
url:“Records.php”,
成功:函数(文本)
{
响应=文本;
}
});
警报(响应);
});
下面还有一个脚本,用户可以在其中向数据库添加记录

<script id="sosurce" language="javascript" type="text/javascript">
$("#newitemadd").click(function(){
  $('#New').modal('show');
    $("#insertResults").click(function(){ 
        var getname = $('#getname').val();
        var getquant = $('#getquant').val();
        var getprice = $('#getprice').val();
        var getdesc = $('#getdesc').val();
               $.ajax({                                      
                    url: 'api2.php',    
                    data: "name="+getname+"&quantity="+getquant+"&price="+getprice+"&description="+getdesc,
                     success: function(data)
                     {  $('#New').modal('hide');
                        $("#success").html(data);
                        $('#success').slideDown().delay(3000).slideUp().reload
                    },
                     error: function() { 

                      $("#failure").alert('show');
                  }       
              }); 
          });
});
</script>

$(“#newitemadd”)。单击(函数(){
$('新').modal('显示');
$(“#insertResults”)。单击(函数(){
var getname=$('#getname').val();
var getquant=$('#getquant').val();
var getprice=$('#getprice').val();
var getdesc=$('#getdesc').val();
$.ajax({
url:'api2.php',
数据:“name=“+getname+”&quantity=“+getquant+”&price=“+getprice+”&description=“+getdesc,
成功:功能(数据)
{$('#New').modal('hide');
$(“#success”).html(数据);
$(“#成功”).slideDown().delay(3000.slideUp().reload
},
错误:函数(){
$(“#失败”).alert('show');
}       
}); 
});
});

它完全按照预期工作,但是,如何让第一个脚本重新运行,以便刷新插入到页面上的表以显示刚刚添加的新结果?

将第一个代码移动到一个函数中,如

<script>
  $(document).ready(LoadData);

  function LoadData() {
    var response = '';
    $.ajax({ 
      type: "GET",   
      url: "Records.php",   
      success : function(text) {
        response = text;
      }
    });

    alert(response);
  };
</script>

$(文档).ready(加载数据);
函数LoadData(){
var响应=“”;
$.ajax({
键入:“获取”,
url:“Records.php”,
成功:函数(文本){
响应=文本;
}
});
警报(响应);
};
并从其他函数调用此函数,示例在成功时执行此操作

<script id="sosurce" language="javascript" type="text/javascript">
  $("#newitemadd").click(function() {
    $('#New').modal('show');
    $("#insertResults").click(function() { 
      var getname = $('#getname').val(),
          getquant = $('#getquant').val(),
          getprice = $('#getprice').val(),
          getdesc = $('#getdesc').val();

      $.ajax({                                      
        url: 'api2.php',    
        data:       
          "name="+getname+"&quantity="+getquant+"&price="+getprice+"&description="+getdesc,
        success: function(data) {  
          $('#New').modal('hide');
          $("#success").html(data);
          $('#success').slideDown().delay(3000).slideUp().reload

          // Call load data again to refresh the table
          LoadData();
        },
        error: function() { 
          $("#failure").alert('show');
        }       
      }); 
    });
  });
</script>

$(“#newitemadd”)。单击(函数(){
$('新').modal('显示');
$(“#insertResults”)。单击(函数(){
var getname=$('#getname').val(),
getquant=$('#getquant').val(),
getprice=$('#getprice').val(),
getdesc=$('#getdesc').val();
$.ajax({
url:'api2.php',
数据:
“name=“+getname+”&quantity=“+getquant+”&price=“+getprice+”&description=“+getdesc,
成功:函数(数据){
$('#New').modal('hide');
$(“#success”).html(数据);
$(“#成功”).slideDown().delay(3000.slideUp().reload
//再次调用load data以刷新表
LoadData();
},
错误:函数(){
$(“#失败”).alert('show');
}       
}); 
});
});
您可以这样做

<script>
  var renderTable = function() {
        var response = '';
                $.ajax({ type: "GET",   
                  url: "Records.php",   
                     success : function(text)
                      {
                        response = text;
                      }
                   });

                   alert(response);
    }

    // Call function onload
    jQuery(function($){
      renderTable();
   $(".refreshBtn").click(function(){
        renderTable();
     })

    });

</script>

var renderTable=函数(){
var响应=“”;
$.ajax({type:“GET”,
url:“Records.php”,
成功:函数(文本)
{
响应=文本;
}
});
警报(响应);
}
//调用函数onload
jQuery(函数($){
可渲染();
$(“.refreshBtn”)。单击(函数(){
可渲染();
})
});

您可以使用ajax调用生成一个函数,并在更新完成后再次调用它done@user2355891你必须小心,这很容易导致一个无限的调用循环,而没有一个标志来控制它。有人能提供一个例子,说明哪种方法是实现我的要求的最好方法,而不存在调用循环之类的问题吗?另外,请提供答案,以便我可以接受。