【发布时间】:2014-12-10 10:22:52
【问题描述】:
我在使用 express.js 进行查询时遇到问题。 Citta_p 和 Citta_a 是两个数组,我想要的是我的查询给了我所有城市的所有 id。相反,我得到的只是最后一个值,就像我的周期从 var i = 1 开始,而我从来没有得到 i = 0 的值。任何人都可以帮助我吗? 这是我的代码:
page.html
<div class = "container" id = "nuova_linea" style= "display : none">
<div class="row">
<div class="col-md-12" style = "margin-top: 100px;">
<form class="form-horizontal" method="post" action="/inseriscilinea">
<div class='alert alert-error'>
<button type='button' class='close' data-dismiss='alert'>×</button>
<fieldset>
<legend class="text-center header">Inserisci una nuova linea </legend>
<div class="form-group">
<label class="col-md-3 control-label" style = "margin-left: 200px">Nome Linea: </label>
<div class="col-md-5">
<input type="text" class="form-control" name="nome_linea" />
</div>
</div>
<div class="form-group">
<label class="col-md-3 control-label" style = "margin-left: 200px">Numero fermate: </label>
<div class="col-md-1">
<input type="text" class="form-control" id="numero_fermate" name = "numero"></div>
<div><input type="button" onclick = "AggiungiFermate()" class = "btn btn-primary" id="button" value="Invia">
</div>
</div>
<div id = "contenitore"></div>
<div id = "miefermate" style = "display : none">
<div class="form-group">
<label class="col-md-3 control-label" style = "margin-left: 200px">Città di partenza: </label>
<div class="col-md-5">
<input type="text" class="form-control" name="nome_citta_p" />
</div>
</div>
<div class="form-group">
<label class="col-md-3 control-label" style = "margin-left: 200px">Città di arrivo: </label>
<div class="col-md-5">
<input type="text" class="form-control" name="nome_citta_a" />
</div>
</div>
<div class="form-group">
<label class="col-md-3 control-label" style = "margin-left: 200px">Km: </label>
<div class="col-md-5">
<input type="text" class="form-control" name="km" />
</div>
</div>
<div id = "salva" style = "display : none">
<div class="form-group">
<div class="col-md-5 col-md-offset-3">
<button type="submit" class="btn btn-primary">Salva</button>
</div>
</div>
</div>
</div>
</div>
</div>
<script type = "text/javascript">
function AggiungiFermate() {
for(var i=0;i<$("#numero_fermate").val();i++) {
$("#contenitore").append($("#miefermate").html())
}
$("#salva").show("slow");
}
</script>
page.js
exports.insertLine = function(req,res) {
var linea = req.body.nome_linea;
var numero = req.body.numero;
var citta_p = req.body.nome_citta_p;
var citta_a = req.body.nome_citta_a;
var km = req.body.km;
req.getConnection(function(err,connection) {
for(var i=0;i<numero;i++) {
var sql = connection.query("select c.id,cc.id from città as c, città as cc where (c.nome = ? and cc.nome = ?)",[citta_p[i],citta_a[i]], function(err,rows) {
if(err) console.log("%s", err);
if(rows.length > 0) {
console.log(rows);
}
}
});
}
});
};
【问题讨论】:
-
在 Node.js 中 IO 是异步的。循环不起作用。您可以使用async 进行流量控制。
-
是的,但我认为查询是错误的,因为如果我在没有第二个数组的情况下编写查询,它就可以工作。即使我没有任何循环但我想要 id 的 2 个字符串/数组,它也不起作用。
标签: javascript jquery html node.js express