我正在使用 sailsjs
从 URL (mydomain.com/prod_master/addsupp) 的 GET
参数插入数据。
页面是/prod_master/addsupp,它接受 GET 参数以插入数据库。
在 javascript
我需要做循环并插入多条记录
以下是我正在使用的 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>
但是我可以确认使用我的 url mydomain.com/prod_master/addsupp?supplier=val&del_lead_time=val2&min_qua=val3 可以完美地将记录添加到数据库 但是在循环中,如果我使用 window.location=url 则它不起作用。
有什么解决办法吗?
注意:如果有任何 jQuery 解决方案,请告诉我。
最佳答案
在循环中,您不能使用 window.location=url
调用任何 url 并执行某些任务。因为 javascript 的执行会比你想象的要快。一旦它替换了 window.location 中的 URL,在下一个循环中它将替换相同的,这将与之前的调用冲突。
更好的方法是使用 ajax 调用来调用该 URL。
我使用 jQuery to do GET request. 给你伪代码
<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>
关于javascript - 在循环中使用 window.location 插入数据时出现问题(GET 方法),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23653381/