【问题标题】:Cant get view to render无法获得要渲染的视图
【发布时间】:2019-05-23 19:11:10
【问题描述】:

我正在使用 node.js、express、couchDB 开发一个应用程序,并使用 nano 与 couch 进​​行通信。 我正在使用来自客户端 javascript 的 jquery 获取请求。使用提琴手,我可以看到我在 RAW 结果中获得了我的视图,但视图从未呈现。

客户:

$.get('employee/'+customerId, function(data){
        return;
    });

路线:

app.get('/employee/:id', employee.viewEmployee);

查看员工:

exports.viewEmployee = function(req, res){
    db.get(req.params['id'], { revs_info: false }, function(err, body, header) {
        res.render('employee/single', {employee: body});
    });
};

一切正常,我在原始响应中获得了“员工/单身”视图 html。我的问题是为什么视图没有呈现?为什么 html 只是以原始形式发回,我怎样才能让它工作?

【问题讨论】:

  • 我将 jquery get 替换为:window.location = '/employee/'+customerId;现在它可以工作了,但我仍然无法理解为什么 get 不能完成这项工作

标签: node.js express couchdb couchdb-nano


【解决方案1】:

您的 $.get 调用正在使用一个没有做任何事情的回调。

来自jQuery api examples

$.get("test.php",
   function(data){
     $('body').append( "Name: " + data.name ) // John
              .append( "Time: " + data.time ); //  2pm
   }, "json");

向您展示如何做到这一点。

【讨论】:

    【解决方案2】:

    你正在做一个 ajax 调用。

    在你的 $.get 回调中尝试 console.log(data),你看到的是你期望的 html 吗?

    【讨论】:

    • 是的,我得到了我期望的 html,但是我创建的翡翠视图没有被渲染。我继续使用 window.location 而不是 $.get 并且应用程序现在按预期运行。
    • 在你的 ajax 调用中使用 type: 'html'。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-09-12
    • 1970-01-01
    • 1970-01-01
    • 2021-02-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多