0
私のnode.jsプロジェクトで、ejsページ(<%- include('partials/content') %>
を使用)に動的に組み込むことを試みています。 インクルードするページの変数を作成し、ボタンをクリックして変更する方法はありますか?ejsがクリックに含まれています
私のnode.jsプロジェクトで、ejsページ(<%- include('partials/content') %>
を使用)に動的に組み込むことを試みています。 インクルードするページの変数を作成し、ボタンをクリックして変更する方法はありますか?ejsがクリックに含まれています
のは、あなたのpartials/content
ファイルのような内容を含むと仮定しましょう:
<h1>Lorem ipsum dolor sit amet</h1>
partials/content2
という名前のファイル:
<h1>consectetur adipiscing elit<h1>
あなたの主なテンプレートファイルにid result
で<div>
によってパーシャルの内容をラップし、含まれるであろうスクリプトファイルでは、var $result = $('#result');
を使用して<div>
を選択します。次に、ボタンにクリックハンドラを登録することができます。クリックすると、希望のテンプレートファイルが要求され、コンテンツが置き換えられます。
メインテンプレート:
<html>
<head>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.1.0/jquery.min.js"></script>
</head>
<body>
<div id="result">
<%- include partials/content.ejs %>
</div>
<button id="change">change</button>
<script>
var $result = $('#result');
$('#change').click(function() {
$result.load('/content2');
});
</script>
</body>
</html>
次に、あなたのようなバックエンド上のコントローラが必要です。
app.get('/content2', function (req, res) {
res.render('partials/content2');
});
OKを、それは私のためではなく、奇妙な理由のために働いていない - '.LOAD()' ISNまったく働いていない。 (jQueryのcdnを除いて)ファイル全体を消去してdivやload関数しか持っていなかったとしても。同じディレクトリから単純なhtmlファイルをロードしようとしました – user3187759
もちろん、メインテンプレートの