如何在nodejs中从服务器发送数据到客户端
How to send data from server to client in nodejs?
我在nodejs中运行服务器,express在文件index.html中为客户端提供html表单:
var express = require('express');
var bodyParser = require('body-parser');
var app = express();
app.use(bodyParser());
app.get('/', function(req, res){res.sendfile('index.html');});
app.post('/', function(req, res){
res.json(req.body);
});
app.listen(8080);
req.body
给出了表单输入。现在我需要发回请求。body到客户端,为了做到这一点,我在客户端使用ajax(在index.html中),像这样:
var data;
$('#submit').click(function()
{
console.log('Button Clicked');
$.ajax({
url: '/',
type:'POST',
data: data,
dataType: 'json',
}).done(function(data) {
console.log(data);
});
})
然而,当我点击按钮submit
,我得到Object {}
在浏览器控制台,而不是表单输入。我遗漏了什么?
您的代码中有两个问题:
首先,正如注释所提到的,bodyParser()
已被弃用,您应该使用特定的bodyParser中间件(json、text、urlencoded、raw)。所以在你的例子中:
app.use(bodyParser.json())
第二,你的客户端调用jQuery。Ajax应该对数据进行字符串化。这样的:$('#submit').click(function()
{
console.log('Button Clicked');
$.ajax({
url: '/',
type:'POST',
data: JSON.stringify(data),
dataType: 'json',
}).done(function(data) {
console.log(data);
});
})
相关文章:
- 使用谷歌应用程序脚本将服务器端数据表返回到客户端
- 如何将权限/授权数据传递到客户端Javascript
- 同源策略目的|用户数据与基本页面数据|客户端页面抓取
- 如何在从客户端接收数据时从本机方法触发javascript函数?
- 将数据发布到nodejs服务器到客户端
- websocket客户端在发送大数据时断开连接
- ASP.Net模型到Javascript-将数据从服务器传递到客户端
- AJAX 将数据从客户端(JS)发送到服务器(PHP)
- 是否可以使用googleanalystics.js在客户端获取推荐数据
- 有没有办法清除客户端上的XHR缓存数据
- 最小化在javascript中客户端/服务器之间发送的数据
- 使用 CSS3 数据属性进行客户端文本搜索
- 在 Angularjs 中浏览器页面的客户端加载中存储参考数据
- 客户端将EDN转换为JSON(HTML5应用程序使用的Datomic数据)
- 如何使用数据表进行客户端和服务器端的混合分页,以便对前X行进行客户端分页
- 正在服务器或客户端上生成数据
- 客户端数据存储
- 动态创建页面 og 元数据 - 客户端
- 安全的数据客户端缓存
- 从JSON数据(客户端或服务器端)获取JSONPath