在循环中使用window.location插入数据时发生问题(GET方法)

我正在使用sailsjs插入来自URL(mydomain.com/prod_master/addsupp)的GET参数的数据。

该页面是/ prod_master / addsupp它接受GET参数插入数据库。

javascript我需要做循环并插入多个logging以下是我使用的JavaScript代码:

 <script> for(var i=2;i<(rCount);i++) { supplier=tbl.rows[i].cells[3].children[0].value; del_lead_time=tbl.rows[i].cells[4].children[0].value; min_qty=tbl.rows[i].cells[5].children[0].value; window.location="/prod_master/addsupp?supplier="+supplier+"&del_lead_time="+del_lead_time+"&min_qua="+min_qty; } </script> 

不过,我可以确认,使用我的urlmydomain.com/prod_master/addsupp?supplier=val&del_lead_time=val2&min_qua=val3其添加logging完美的数据库,但在循环中,如果我使用window.location =url,那么它不工作。

任何解决scheme

注意:如果有任何jQuery解决scheme,那么也让我知道。

在循环中,您不能使用window.location=url来调用任何url并执行一些任务。 因为JavaScript的执行速度会比你想象的要快。 一旦它在window.location中replace了URL,在下一个循环中它将会replace它,并且会与之前的调用相冲突。

更好的方法是使用ajax调用该URL。

我给你使用jQuery的 psudo代码做GET请求。

 <script> for(var i=2;i<(rCount);i++) { supplier=tbl.rows[i].cells[3].children[0].value; del_lead_time=tbl.rows[i].cells[4].children[0].value; min_qty=tbl.rows[i].cells[5].children[0].value; urlToCall="/prod_master/addsupp?supplier="+supplier+"&del_lead_time="+del_lead_time+"&min_qua="+min_qty; $.get(urlToCall, function(response){ console.log(response); //you might want to see returned response }); } </script>