5

私は自分のウェブサイトに検索機能を実装したいので、mongodbを検索して一致するユーザーのオブジェクト配列を提供するエクスプレスサーバーへのテキストを使用してjquery ajax呼び出しを行います。今、私はこのオブジェクトを正常に受け取りましたが、ejs にはパーシャルがないため、各ユーザーの html を生成する結果リストだけを更新するにはどうすればよいですか?

4

1 に答える 1

9

ノード EJS パッケージには、./node_modules/ejs/ejs.jsまたはにあるクライアント側の JavaScript ライブラリが付属しています./node_modules/ejs/ejs.min.js。これをページに含めた後、テンプレートをロードして、テンプレートから HTML を生成します。 未定義のオブジェクト プロパティの検出 Javascript サンプル (ページの読み込み時にテンプレートを読み込む方が理想的です):

function getData() {
    // Grab the template
    $.get('/results.ejs', function (template) {
        // Compile the EJS template.
        var func = ejs.compile(template);

        // Grab the data
        $.get('/data', function (data) {
           // Generate the html from the given data.
           var html = func(data);
           $('#divResults').html(html);
        });
    });
}

EJS:

<table>
    <tr>
        <th>ID</th>
        <th>Name</th>
    </tr>   
    <% data.forEach(function (d) { %>
    <tr>
        <td><%- d.id %></td>
        <td><%- d.name %></td>
    </tr>
    <% }); %>
</table>

エクスプレスでのAjax呼び出し:

app.get('/data', function (req, res) {
    res.send({ data: [
        { id: 5, name: 'Bill' },
        { id: 1, name: 'Bob' }
    ]});
});
于 2013-09-24T20:27:53.160 に答える