client向server发送一个post请求,得到返回的数据后,更新某个控件的数值。应该是个最简单的ajax应用。
我的后台使用nodejs express,处理post请求的代码如下:
app.post('/bet', function(req, res){
...
var ajaxText = "teamA";
res.send(ajaxText);
}
ajax部分和html代码如下:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8"/>
<title>Blog</title>
<link rel="stylesheet" href="/stylesheets/style.css"/>
<script src="javascripts/jquery-1.12.0.min.js"></script>
<script>
$(document).ready(function(){
$("#send").click(function(){
$.post("/bet",{
para1:"1",
para2:"2"
}, function(data, status){
alert("1")
$("button").html(data) // OK!!!
alert("2")
});
});
});
</script>
</head>
<body>
<button>向页面发送 HTTP GET 请求,然后获得返回的结果</button>
<form method="post">
Team1: <input type="text" name="team1" ><br />
Team2: <input type="text" name="team2" ><br />
<input type="submit" id="send" value="计算" onclick=""/><br />
</form>
Win: <label type="text" id="win_team" value="None"></label><br />
Weight: <label type="text" id="weight" value="None"></label>
<div id="resText"></div>
</body>
</html>
$("button").html(data) 这句就是我想做的,拿到post返回的数据,将button的text改成那个值。
问题就发生在这一步执行完。
我希望的时候替换以后就ok了,但是实际上如果我不加那步alert("2"),整个页面酒会刷新。刷新的结果是一个空白页面,上面一个post返回数据。查看网页源代码可以发现,就是一个空空的post返回值。
我不太清楚该怎么不让它刷新。也没有查到是ajax写的有问题还是nodejs那块的问题。
前端和nodejs新手,还望高手指点。
--
FROM 114.241.26.*