当前位置: 首页 > 面试题库 >

如何在Ajax调用Express Server之后使用jquery在ejs上生成内容

应和悦
2023-03-14
问题内容

我想在我的网站上实现搜索功能,所以我要做的是将带有文本的jquery
ajax调用到Express服务器,该服务器搜索mongodb并给出匹配的用户的对象数组。现在我已成功接收到该对象,但是由于ejs上没有部分内容,我该如何刷新仅为每个用户生成html的结果列表?


问题答案:

节点EJS软件包随附位于./node_modules/ejs/ejs.js或中的客户端javascript库./node_modules/ejs/ejs.min.js。将其包含在页面上之后,您将需要加载模板,然后从模板生成HTML。
检测未定义的对象属性(在页面加载时加载模板会更理想):

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' }
    ]});
});


 类似资料:
  • 问题内容: 我有这样的事情,它是对脚本的简单调用,该脚本给了我一个值,一个字符串。 但是如果我这样称呼 那么我该如何返回值?下面的代码似乎也不起作用… 问题答案: 从该函数返回数据的唯一方法是进行同步调用而不是异步调用,但这将使浏览器在等待响应时冻结。 您可以传入一个处理结果的回调函数: 这样称呼它:

  • 问题内容: 我有一个ajax电话。我将返回值(数据)放在一个名为mydata的变量中。我想在ajax调用之外使用该变量。请注意,我无法将代码合并到ajax调用的成功部分中。我不会详细说明原因,因为这会增加混乱。所以问题很简单。有没有办法在该ajax调用之外使用ajax调用的返回值?预先感谢您的答复。干杯。马克 问题答案: 简短的答案:不,您不能这样做,因为AJAX中的A代表“异步”,因此脚本不会“

  • 问题内容: 这类似于Node.js的Stream数据,但是我觉得这个问题没有得到足够的回答。 我正在尝试使用jQuery ajax调用(get,load,getJSON)在页面和node.js服务器之间传输数据。我可以从浏览器中找到该地址,然后看到“ Hello World!”,但是当我从页面尝试此操作时,它失败并显示没有任何响应。我设置了一个简单的测试页面和hello world示例进行测试:

  • 问题内容: 我有以下代码 现在,测试var应该像控制台那样将false设置为true。但是test var给了我不确定的原因? 问题答案: 可能是因为Validate.fail(test)在异步调用之后立即发生。请记住,它是异步的,这意味着它与页面上运行的javascript并行执行。

  • 问题内容: 我正在开发一个新项目http://www.hotwirerevealed.com,该项目可以在hotwire.com上显示/识别酒店。输入状态和目的地后,我有了一个使用jquery的.post方法发布的javascript函数。发布请求转到输出html的php页面,我使用jquery的html方法将内容放置在页面上。 像这样 我有超链接,指向要在灯箱中使用的酒店 我试图使用jQuery

  • 问题内容: 我有一个基于ajax的应用程序,其中我只有一个登录页面和主页。 我的大多数链接都是“ ajaxed”的,我这样做的方式是: 我想在我的应用程序上实现“ pushState”,到目前为止,我要做的第一步是添加以下代码: 现在,只要我单击任何链接,就会更新我的地址栏,并且ajax内容会成功加载。我对这个API有点陌生,所以我不知道我缺少什么,但是到目前为止,这是我的问题: 当我按下“返回”