【问题标题】:Updating values on page without refreshing in Node.js在 Node.js 中更新页面上的值而不刷新
【发布时间】:2015-09-07 19:57:17
【问题描述】:

当我用户选择他们想要过滤的内容但我不想不断刷新网页时,我正在尝试更新我的页面上的值。例如,考虑一个房地产网站,您可以在其中根据位置进行过滤,并且住房类型会返回数字(例如,公寓 [4] 联排别墅 [0] 工作室 [5])。住房类型将永远存在,但我有兴趣更新它的数字。每当您更改过滤器时,都会弹出新数字。我正在做的是根据主题、主题等过滤问题。

有没有办法在 node.js 中使用它?到目前为止,我所做的工作需要刷新页面。

$.ajax({
    type="POST",
    url: "/user/calculatequestions",
    data: { 
         filter date here... },
    success: function () { },
    error: function () { }
});

“/user/calculatequestions”通过 app.post 并呈现带有新变量的新页面。

提前致谢, S

【问题讨论】:

  • 如果用户只更改下拉菜单等,为什么还要调用帖子?您应该为您的过滤器元素添加一个事件侦听器,当它们单击 [应用] 时,您可以调用您的 ajax 函数。
  • 感谢您的回复。理想情况下,我希望在用户更改复选框(即过滤器)时更新值,并且我不想调用帖子。我只是想让一些东西工作,现在正在完善它。我的问题是如何将过滤器发送到节点并让节点发回一些数字而无需刷新/发布页面。
  • 显示的 ajax 代码中的任何内容都不会刷新页面。 Queston 没有意义
  • 对不起。请多多包涵。我正在使用 ajax 与服务器通信。服务器执行 res.render 刷新页面。我的问题是如何在不刷新网页的情况下将数据从 node.js 发送回网页,以便我可以更新这些值。我使用 res.render 是因为在我有限的经验中,这是我能想到的唯一方法……

标签: javascript jquery ajax node.js


【解决方案1】:

您可以通过Java Script 获取过滤器的值,并通过Ajax 发送数据过滤器。

输入示例:

    <input id="field" name="field1" type="text" >

Java Script 函数(合 Ajax 堆栈):

    var data = {};
    data.fielter_data1 = document.getElementById('field');

    $.ajax({
        type="POST",
        url: "/user/calculatequestions",
        data: data,
        success: function () { },
        error: function () { }
    });

然后,在名为 /user/calculatequestion 的函数节点中,您可以通过以下方式获取参数过滤器:

var filter_data = req.body.fielter_data1;

success回调返回note proccess后的数据,然后更新前端的组件(输入、表格、列表等)。

请看这个问题:How to refresh table data using Ajax, Json and Node.js

【讨论】:

  • 谢谢。回答我的问题的关键是 res.send(data) 会成功出现:function(data) { ... }。
  • 等等,你的 ajax 调用中是不是缺少内容类型??
  • 我的代码在我添加 contentType: 'application/json' 之前没有工作
  • 嗨@LukaGabadze,也许在我提出问题的时候,jQuery 版本不需要应用时间,但现在你使用的版本是。
猜你喜欢
  • 1970-01-01
  • 2014-04-29
  • 1970-01-01
  • 2021-07-15
  • 1970-01-01
  • 2020-07-28
  • 1970-01-01
相关资源
最近更新 更多