jquery - 在 Node.js 中使用 ajax post 后,HTML 页面未呈现

标签 jquery ajax node.js express

我正在使用express.js。我想做的只是在单击表元素后重定向到 html 页面。目前输出是 HTML 源 console.log(而不是重定向然后解释为 HTML 页面)

我的点击函数如下(ajax post)

<script>    
$(".table").click(function() {



    /* Act on the event */


$.ajax({
    url: "/selectForm",
   type: "POST",
  data: {name : "John"},

cache: false,
timeout: 5000,
complete: function() {
  //called when complete
  console.log('process complete');
  },

success: function(data) {
  console.log(data);
  console.log('process sucess');
 },

error: function() {
  console.log('process error');
},
});

});

我的 app.post 如下所示简单;

 app.post('/selectForm',function(req,res){


 res.redirect('hello.html');
 });

我在 Chrome javascript 控制台中获得了 HTML 输出,但在浏览器中我没有看到它重定向到 hello.html。

最佳答案

您的 res.redirect('hello.html') 指令不会影响 AJAX 请求。 AJAX 是异步的,因此将向服务器发出请求,并将响应返回到浏览器以由 JavaScript 进行解释。

要在 AJAX 请求后重定向到另一个页面,您需要在 console.log 下方给出额外的指令 (window.location.replace('hello.html')) ('处理完成')指令。

关于jquery - 在 Node.js 中使用 ajax post 后,HTML 页面未呈现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23607271/

相关文章:

jquery - 使用 jquery ajax 刷新页面

javascript - jquery ajax : object in data object

javascript - AJAX 返回嵌入 JSON 的 html 页面

node.js - 带有Node.js的Elasticsearch js:如何从多个索引返回聚合结果?

javascript - 将字符串转换为文件,然后转换为 base64

javascript - 将一个有点复杂的 javascript 函数的值返回给 silverlight 用户控件

jquery - 将参数发送到 Bootstrap 模态窗口?

javascript - Flash播放器 "now playing list"不中断当前歌曲

javascript - 使用 DELETE 获取 api 问题 - 即使 cors 良好,也会更改 OPTIONS

javascript - 在 Javascript/Jquery 中将 URL 图像转换为 Base64 或 Blob 的简单方法