[英]Ajax call and node.js
我在将Ajax调用与node.js集成时遇到问题(我正在使用express.js)。 这是我的代码:
Page.html
<div id = "prezzo" class="col-md-12" style = "display : none">
<div class="col-md-2 col-md-offset-3">
<h1 id = "h1">€ </h1>
</div>
<div class="col-md-4">
<input style="margin-top: 17px" type="submit" class="btn btn-sommatinese btn-lg btn-block" />
</div>
</div>
</div>
<script type = "text/javascript">
$("#form1").submit(function()
{
$("#prezzo").fadeIn(600, function()
{
$.ajax({
url: "http://localhost:3000/prezzo",
type: "GET",
success: function(data)
{
console.log(data);
$("#h1").append(data.biglietto);
}
});
});
});
</script>
Page.js
exports.prezzo = function(req,res) {
req.getConnection(function(err,connection) {
connection.query("my query", function(err,rows) {
if(err) console.log("Error selecting : %s", err);
if(rows.length > 0) {
totale = rows[0];
res.send(totale);
//console.log(totale);
}
});
});
}
ajax调用不起作用,我的查询结果是白页,例如:{biglietto:2.70}
我在您的HTML中看不到#form1
,但是无论如何...
问题在于,当您触发一个Submit事件时,除了您在Submit处理程序中放置的内容外,还会发生一堆默认行为,例如用请求的结果(您不想要的)重新绘制整个页面。
您需要做的是防止默认行为,以便事件处理程序是提交时发生的唯一事情。 提交处理程序的前两行应如下所示:
$("#form1").submit(function(event){
event.preventDefault();
然后,您可以继续其余的代码。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.