首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在循环中使用window.location插入数据时发出问题(GET方法)

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

Stack Overflow用户
提问于 2014-05-14 11:27:22
回答 1查看 286关注 0票数 2

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

页面是/prod_master/addsupp,它接受要插入数据库中的GET参数。

javascript中,我需要执行循环并插入多个记录,下面是我使用的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解决方案,那么也让我知道。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-05-14 11:31:27

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

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

我给你用做jQuery请求。编写的psudo代码

代码语言: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;

    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>
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23653381

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档