Javascript Node.js:在同一页面上做出响应(更新页面)

Javascript Node.js:在同一页面上做出响应(更新页面),javascript,node.js,json,forms,express,Javascript,Node.js,Json,Forms,Express,我有这样一个场景: 客户提交一份表格。 node.js通过适当的路径“捕获”表单提交,并开始缓慢的计算。 计算会创建一些必须传递给客户端的数据 在这里,我可以选择执行res.render()并向客户端呈现一个新的html文件 如果我想使数据(字符串或字符串数组)对同一页面上的客户端可见,该怎么办 我可以用res.json()实现这一点吗? 如果是,在客户端和服务器端,代码的结构会是什么样子? 客户端(jquery) $(“.submit”)。单击(函数(){ var status=“提交”;

我有这样一个场景: 客户提交一份表格。 node.js通过适当的路径“捕获”表单提交,并开始缓慢的计算。 计算会创建一些必须传递给客户端的数据

在这里,我可以选择执行res.render()并向客户端呈现一个新的html文件

如果我想使数据(字符串或字符串数组)对同一页面上的客户端可见,该怎么办

我可以用res.json()实现这一点吗? 如果是,在客户端和服务器端,代码的结构会是什么样子?

  • 客户端(jquery)
$(“.submit”)。单击(函数(){
var status=“提交”;
var userObject={
名字:“,
姓氏:“,
主题:“
}
$.ajax({
url:“http://localhost:3000/yourUrl",
类型:“POST”,
数据:JSON.stringify({status:status,userObject:userObject}),
数据类型:“json”,
contentType:“应用程序/json”,
成功:功能(结果){
警报(结果、状态);
},
错误:函数(结果){
警报(“错误”);
}
})
})
  • 服务器端(node.js)
app.post(“/yourURL”),函数(req,res){
控制台日志(“工作”)
var status=JSON.stringify({
状态:req.body.status,
userObject:req.body.userObject
})
控制台日志(“状态:+req.body.status”)
常量选项={
主机名:“本地主机”,
港口:3000,
路径:'/postwichrendersepage',
方法:“POST”,
标题:{
“内容类型”:“应用程序/json”,
“接受”:“应用程序/json”
}
};
控制台日志(状态);
const reqs=http.request(选项,(res)=>{
res.setEncoding('utf8');
res.on('数据',(块)=>{
log(`BODY:${chunk}`);
});
res.on('结束',()=>{
log('响应中没有更多数据');
});
});
要求on('错误',(e)=>{
错误(`problemwithrequest:${e.message}`);
});
//将数据写入请求主体
需求写入(状态);
要求结束();
res.status(200).send(JSON.stringify({status:req.body.status}));
})
供您参考如何使用ajax

为什么不使用Ajax?我认为代码应该能够让你理解