2014-04-08 91 views
0

如果我有一個像下面這樣的腳本,它可以加載一個表格,其中的數據從外部PHP文件注入到頁面中。重新運行一個Ajax腳本?

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

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

我在下面有另一個腳本,用戶可以將記錄添加到數據庫。

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

它的工作原理完全如預期,但是,我怎麼能得到重新運行的第一個腳本,這樣就會插入到頁面上的表進行刷新,顯示剛剛添加的新的結果嗎?

+2

你可以做一個功能出了Ajax調用,並再次調用它的更新完成 – bottens

+0

@ user2355891你要小心了之後,可以很容易導致進入一個無限通話循環無標誌來控制它。 –

+0

有人可以提供一個例子,哪些是最好的方式去實現我問的問題,而不像呼叫循環問題?此外,將其作爲答案提供,以便我可以接受。 – ProEvilz

回答

1

將第一代碼到功能類似

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

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

    alert(response); 
    }; 
</script> 

並調用其他功能該功能,例如它做成功

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

你可以做到這樣。

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