2017-07-20 267 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 –