2017-07-20 309 views
3

如何重新加載數據我有一個方法來獲取所有的產品阿賈克斯

function listProducts() { 
    $.get("./listProducts", function(data) { 
    data.forEach(function(item) { 
     var $clone = $('#product').clone().removeAttr('id'); 
     $clone.find('.productName').text(item.nameEn); 
     $clone.appendTo('#rowProducts'); 
    }); 
}); 
}; 

我有另一種方法來添加產品,增加新產品時,在成功的方法,它不重裝,我想以前的方法listProducts()來獲得新的產品列表

$(document).ready(function() { 
    $('#validProduct').on("click", function(e) { 
    ...... 
    $.ajax({ 
     type : "POST", 
     contentType : "application/json", 
     url : "./addProduct", 
     data : JSON.stringify(product), 
     dataType : 'json', 
     timeout : 6000, 
     success : function(data) { 
     /* **reload listProducts** */ 
     } 
    }); 
    }); 
}); 
+0

是否有這個問題嗎? –

+0

你有沒有嘗試在你需要的地方調用你的'listProducts()'函數? – Proto

+0

然後再次調用lisProducts()?您的數據應該已經在服務器中。 – callback

回答

2

回想起剛纔的功能

$(document).ready(function() { 
    $('#validProduct').on("click", function(e) { 
    ...... 
    $.ajax({ 
     type : "POST", 
     contentType : "application/json", 
     url : "./addProduct", 
     data : JSON.stringify(product), 
     dataType : 'json', 
     timeout : 6000, 
     success : function(data) { 
     listProducts();//just recall the function here 
     } 
    }); 
    }); 
}); 
+0

當我喜歡它不重新加載時,它會顯示另一次產品列表。例如我有這個列表:p1 p2 p3 p4 p5 p6。當我添加一個新產品時,它顯示p1 p2 p3 p4 p5 p6 p1 p2 p3 p4 p5 p6 p7 –

+0

是否可以在重新加載之前清除它,或者您是否需要修改其中的內容? – CumminUp07

0

使用window.location.replace("your lising product url");

關於ajax函數的成功調用。

我修改了下面的jquery。希望這會對你有用。

$(document).ready(function() { 
    $('#validProduct').on("click", function(e) { 
    ...... 
    $.ajax({ 
     type : "POST", 
     contentType : "application/json", 
     url : "./addProduct", 
     data : JSON.stringify(product), 
     dataType : 'json', 
     timeout : 6000, 
     success : function(data) { 
     /* **reload listProducts** */ 
      window.location.replace("your lising product url"); 
     } 
    }); 
    }); 
}); 
1

試試這個代碼...

$(document).ready(function() { 
    $('#validProduct').on("click", function(e) { 
    ...... 
    $.ajax({ 
     type: "POST", 
     contentType: "application/json", 
     url: "./addProduct", 
     data: JSON.stringify(product), 
     dataType: 'json', 
     timeout: 6000, 
     success: function(data) { 
     //recall this function 
     listProducts(); 
     } 
    }); 
    }); 
}); 
+0

雅其幫助我...偉大的工作人 – sugansoft

+0

當我這樣做,它不會重新加載,它顯示另一次產品列表。例如,我有這個列表: p1 p2 p3 p4 p5 p6 。當我添加一個新產品時,它會顯示 p1 p2 p3 p4 p5 p6 p1 p2 p3 p4 p5 p6 p7 –