这是AJAX函数:
$(document).ready( function() {
$("div").click( function() {
$.ajax({
type:'POST',
url:'/activity',
data:"ok",
success:function(data) {
window.alert("Entered AJAX");
}
})
});
});
这是我的帖子:
app.post("/activity", urlencodedParser, function(req,res) {
console.log("Entered POST");
res.redirect('/activity/test');
res.end();
});
最后那是我的GET:
app.get('/activity/test', function(req,res) {
res.writeHead(200);
res.end("hello world\n");
console.log("Entered GET");
});
所以我在控制台中收到“输入GET”消息,但页面仍然是初始页面,我没有任何“hello world”消息 .
另一方面,当我从另一个表单提供相同的POST请求时,它工作正常 .
2 回答
由于此ajax调用,浏览器显示的页面不会更改 . 您的Web服务器返回的“hello world”字符串应该位于传递给您的成功回调的数据中 .
如果您希望浏览器在完成发布请求后显示“/ activity / test”页面,请尝试将其添加到您的成功回调中:
我认为
hello world
消息将在发送的AJAX请求的响应中 . 如果需要,您可以从UI重定向到单独的页面 .