使用 Ajax 和 Node.js 的简单按钮单击示例?

Posted

技术标签:

【中文标题】使用 Ajax 和 Node.js 的简单按钮单击示例?【英文标题】:Simple button click example with Ajax and Node.js? 【发布时间】:2015-01-25 07:32:36 【问题描述】:

我是 Ajax 和 Node.js + Express 的新手。在这一点上,我正在尝试弄清楚如何通过按钮与前端和后端进行通信。

我在 html 页面上有一个按钮,我想用它从后端调用一个函数并将文本输出到客户端。

这是我拼凑起来的我需要的东西,但我正在寻找一个关于如何做到这一点的例子。

这一切都发生在 /page

index.hjs 文件

<button class="btn btn-success" onclick="install()">Install</button>

// Client Side Ajax Script
<script>
    $('button').click(function () 
        $.post('/page', data: 'blah', function (data) 
        console.log(data);
      );
    , 'json');
</script>

app.js 文件

app.post('/page', function (req, res, next) 
  calling.aFunction();
  res.write('A message!');
);

这些是我需要的所有部分吗?需要编辑哪些部分才能使此功能正常工作?

【问题讨论】:

你试过了吗?有什么问题吗? 是的,我试过了,收到了错误Uncaught ReferenceError: install is not defined 这是因为 button 元素中的 onclick 属性有一些方法 install() 列出了你似乎不需要这个,因为你使用 jQuery 分配了一个点击事件处理程序 删除 install() 方法/函数似乎不能解决问题。错误现在消失了,但没有得到任何输出或任何东西。 我不知道您指的是什么问题,您只问您是否这样做。您是否有应包含的错误?您是否检查过您的网络监视器以查看 POST 方法是否正在完成? 【参考方案1】:

index.js

<button class="btn btn-success">Install</button>

// Client Side Ajax Script
<script>
    $('button').click(function () 
        $.post('/page', data: 'blah', function (data) 
        console.log(data);
      );
    , 'json');
</script>

app.js

app.post('/page', function (req, res) 
    calling.aFunction();
    res.send('A message!');
);

您应该会看到“一条消息!”在浏览器控制台中。

【讨论】:

我如何在 app.js 中获取 'blah' 数据? 不确定您所说的“废话”数据是什么意思。这只是我显示正在发送到发布目的地的有效负载的方式 抱歉,我的问题必须更具体一些:如果我还想使用 $.post 方法将数据从 index.js 传递回后端(app.js),我将如何去做?这不是 data: 'blah' 吗?在 app.post(... 我将如何从 req 中读取它? req.body.data 将是“blah” 顺便说一句,我的最后一条评论假设您正在使用 express-bodyparser 来处理 POST 数据

以上是关于使用 Ajax 和 Node.js 的简单按钮单击示例?的主要内容,如果未能解决你的问题,请参考以下文章

使用 Node.js 和 Socket.IO 单击时的 jQuery 函数

单击按钮后执行 Node.js 子进程

错误:未使用Node.js,NPM和Parcel定义HTML onClick

在 Node.js、Mongodb、Ajax、HTML 中删除问题

Node.js 使用 AJAX 将数据发送到后端

通过 node.js 的 ajax 跨域发布