id: 'tune-in'
のボタンがauth.ejs
のページにあります。これは、クリックすると新しいページindex.ejs
に移動する必要があります。ajaxとエクスプレスルーティングで新しいURLにリダイレクト
ただし、ボタンをクリックすると、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);
コントローラフォルダ> authController.js
app.get('/tune-in', function(req, res){
res.render('index');
});
ビューフォルダ> index.ejs これはちょうど普通のhtmlページです。クリックしてレンダリングする必要があります。
EDIT: 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...");
「app.js」を追加することも、メインファイルの内容を追加することもできますか?また、ルーティングを扱う場所を追加することもできますか?私はあなたが正しくテンプレートを設定しているかどうか、あなたのルートを正しく設定しているかどうかを確認したい。 –
この動作は、ページのレンダリングを要求していないときには本当に予想されます。 $ .ajaxはインデックスの内容を取得するだけです。それはあなたがそれを伝えるまでコンテンツをレンダリングしません。 – error404
@AnamulHasanしかし、私はauthController.jsでレンダリングするよう指示しています – Kek