首页 文章

节点js:当由AJAX调用时,POST / GET方法不起作用

提问于
浏览
0

这是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 回答

  • 2

    由于此ajax调用,浏览器显示的页面不会更改 . 您的Web服务器返回的“hello world”字符串应该位于传递给您的成功回调的数据中 .

    如果您希望浏览器在完成发布请求后显示“/ activity / test”页面,请尝试将其添加到您的成功回调中:

    window.location.href = 'www.yourpage.com/activity/test';
    
  • -1

    我认为 hello world 消息将在发送的AJAX请求的响应中 . 如果需要,您可以从UI重定向到单独的页面 .

相关问题