如何使用nodejs将数据从服务器发送到客户端?

所以基本上我通过点击一个按钮来调用这个函数

javascriptfunction createStuff(tid) {

$.ajax({

type: "POST",

url: '/create/',

data: {tid: tid}

success: function(id) {

doStuff(id);

},

error: function(jqXHR, textstatus, errorThrown) {

alert('text status ' + textstatus + ', err ' + errorThrown);

}

});

};

然后处理请求

服务器

exports.create = function(req, res) {

new Stuff({

content: "random stuff"

}).save(function(err, stuff) {

Otherstuff.update({_id: req.body.tid}, {$push: {stuffes: stuff}}, {upsert: true}, function(err, mvar) {

res.redirect(301, '/' + req.body.tid);

});

});

};

但是我需要将新创建的 stuff._id 与 res.redirect 一起发送。问题是我不想将它作为 res.redirect(301, '/' + req.body.tid + '/' + stuff._id) 发送,因为我必须做一个全新的路由器,它不会看起来灵活。此外,当我执行此请求时,网页不会重新加载,这正是我想要的。

我尝试使用 res.send(stuff._id),但我只能这样做一次(因为连接似乎在它之后关闭)。我正在使用以下库:mongoose、jquery、express

最佳答案

如果我理解正确,你想用你在请求中得到的原始 id 以及新生成的 id 回复给客户端。

我不明白的是,如果您不想重新加载任何页面,为什么要使用 redirect?

你可以简单地,var obj = {

tid: req.body.tid,

_id: stuff._id

};

res.send(JSON.stringify(obj));

而且,ajax 成功处理程序将是

success: function(data) {

var obj = JSON.parse(data);

var id = obj._id;

doStuff(id);

}

我想这就是你想要的。

编辑:

正如 deitch 所指出的,express 本身将对象转换为 JSON 字符串,并为 JQuery 添加一个 Content-Type header ,以正确识别字符串并将其解析为 JSON 对象。所以不需要 stringify 和 parse 数据。

关于ajax - 从服务器(nodejs)发送数据到客户端(ajax请求),我们在Stack Overflow上找到一个类似的问题:

https://stackoverflow.com/questions/18186776/

如何在客户端发送ajax请求,ajax - 从服务器(nodejs)发送数据到客户端(ajax请求)相关推荐

  1. Ajax入门-搭建服务器并使用ajax技术向服务器发送一个请求并获得服务器返回的数据

    今天刚入坑学习ajax,刚开始就遇到服务器这一知识盲区,经过解决各种问题,成功运行的代码,下面就分享给你们,希望能够帮你们解决问题. (一)node.js安装 1.进入官网,下载对应版本 2.下载了. ...

  2. Python3.x建立服务器自动监测端口数据,客户端测试服务器

    建立Python的服务端 类似于java的tcp协议,Python中的服务端建立方式类似 首先需要导入socket类 import socket from time import ctime#导入时间 ...

  3. 关于对发送HTTP请求以及解析服务器返回的数据操作的提取到一个公共类中进行封装

    创建一个名为HttpUtil的类并提供名为sendHttpRequest静态方法. 相关代码如下: package com.hzy.networktest; import java.io.Buffer ...

  4. java中使用ajax请求数据格式化,ajax请求服务器返回json数据格式化

    JQuery--实现Ajax应用 实现Ajax应用 1   .load()异步请求数据,通过Ajax请求加载服务器中的数据,并把返回的数据放置到指定的元素中,调用格式为load(url,[data], ...

  5. qq不能发说说显示服务器错误,qq为什么发送不成word服务器拒绝发送离线请求. - 卡饭网...

    qq服务器拒绝发送离线文件怎么办 qq服务器拒绝发送离线文件怎么办 qq服务器拒绝发送离线文件怎么办 服务器拒绝了您发送离线文件的原因: 第一种:传输文件容量超过限制;实际上所有的普通QQ用户都可用使 ...

  6. 服务器主动推送消息数据给客户端

    1 引言 这个问题第一次是我在实现一个导师的方案的时候所发现的,一开始我需要实现服务器与客户端的密钥协商和数据传递,服务器需要主动分发(推送)密钥给客户端,因为以前没有做过相关编码,后来只能想到用反向 ...

  7. asp.core api 通过socket和服务器通信发送udp_【网络通信】TCP的通信过程

    本文主要介绍以下几个内容: 1.TCP.UDP.Socket分别是什么?有什么区别? 2.TCP的基本过程. 3.TCP三次握手建立连接. 4.TCP四次挥手断开连接. 5.常考查其他问题. 1.TC ...

  8. 基于ASP.NET Core api 的服务器事件发送

    现如今程序员对Web API的调用已经是轻车熟路.但是传统的api调用都是拉模式,也就是主动发起请求去调用一个api. 但是程序员往往对另一种很有用的模式很陌生,即推模式. 拉模式 - 主动调用并获取 ...

  9. 浏览器如何发送ajax请求,浏览器关闭时,发送ajax请求

    浏览器关闭时,发送ajax请求 发布于:2018.11.12 - 13:10 当用户在浏览器关闭时,向服务器后台发送ajax请求.代码如下. 测试结果:Safari浏览器不支持,其余浏览器支持. if ...

最新文章

  1. 机器学习基础:朴素贝叶斯及经典实例讲解
  2. UWP入门(八)--几个简单的控件
  3. 【Python】青少年蓝桥杯_每日一题_1.03_输出字符串
  4. LoadMenu使用方法
  5. JJWT签发与验证token
  6. GIT 查看/修改用户名和邮箱地址
  7. Eclipse 内部启动 Tomcat,浏览器访问出错的解决方法
  8. os.system 获取打印值_react获取触发元素的属性 e.target.dataset
  9. huhamhire-hosts
  10. 前奈飞 CTO 两年吃回扣上百万,将面临数十年监禁
  11. 剑英陪你玩转图形学(一)打通任督二脉
  12. python 培训教程
  13. 【解决】路由器设置成交换机使用
  14. 对等商务_对等| 第2部分
  15. Photoshop——切图小技巧
  16. 死链提交为什么不能提交 html文件,百度死链提交的方法,百度死链提交的的作用...
  17. stata:应用stata学习计量经济学原理 practice 6 边际效用 Marginal effect
  18. 2022化工自动化控制仪表操作证考试题库及答案
  19. HCIP第十五天笔记
  20. 华清远见-重庆中心-数据库阶段技术总结/个人总结

热门文章

  1. linux文件中链接文件系统,一种基于Linux文件系统文件链接的缓存LRU方法
  2. antd 动态添加表单_react Ant Design 动态生成表单,并带验证
  3. 如何查看笔记本电脑配置参数_2020双十一(小白/学生)如何选购笔记本电脑?5000元预算哪款笔记本配置值得入手?...
  4. 广电系统三八红旗集体推荐材料_【原创】怎么把好几千字的材料压缩成500字?这些方法推荐给你!...
  5. 美国诚实签经验——着装,戒指,手表装土豪,医生预约单,流水、房产和工作证明...
  6. 洛谷P3809 后缀数组模板
  7. 人口普查(20) PAT
  8. Java 抽象方法和抽象类基础知识
  9. hbase shell-namespace(命名空间指令)
  10. PHP获取页面执行时间的方法