使用ajax重定向到新网址并快速路由

时间:2017-07-16 18:56:33

标签: javascript ajax express ejs

我在页面id: 'tune-in'上有一个auth.ejs的按钮,点击该按钮会转到新页index.ejs

但是,当我单击该按钮时,不会呈现index页面。相反,我仍然在auth页面,但是我确实将“应该显示调入主页”的消息记录到控制台。

在html(ejs)页面上(观看文件夹> auth.ejs)

  document.getElementById('tune-in').addEventListener('click', function() {
    $.ajax({
      type: 'GET',
      url: '/tune-in',
      success: function(){
        console.log("should display tune-in home page");
      }
    });
}, false);

controllers文件夹> authController.js

  app.get('/tune-in', function(req, res){
    res.render('index');
  });

观看文件夹> index.ejs 这只是一个常规的html页面,应该在点击时呈现。

编辑: 的 index.js

var express = require('express');
var cookieParser = require('cookie-parser');

// userController takes care of rendering the view and
// routing requests to the server
var authController = require('./controllers/authController');
var userController = require('./controllers/userController');

var app = express();

app.set('view engine', 'ejs');
app.use(express.static('./public'))
   .use(cookieParser());

authController(app);

app.listen(process.env.PORT || 4000);
console.log("Listening to port 4000...");

1 个答案:

答案 0 :(得分:1)

如果我没错,这就是你所需要的。

 document.getElementById('tune-in').addEventListener('click', function() {
$.ajax({
  type: 'GET',
  url: '/tune-in',
  success: function(data){
    console.log("should display tune-in home page");
    // data must be valid html
    $("html").html(data); // this line tells to load the data
    // $("#otherid").html(data);
   }
 });
}, false);