express 返回json怎么拼接json返回

2242人阅读
Node.js(36)
例如post请求:
var dataSuccess = {
status: '100',
msg: '登录成功',
userId: '',
userName: 'hgdqstudio',
blog: 'http://hgdqstudio.online'
var dataError = {
status: '99',
msg: '用户名或密码错误'
router.post('/login',function (req, res, next) {
console.log(req.body);
console.log(req.body.username);
console.log(req.body.password);
if (req.body.username == "hgdqstudio" && req.body.password == "123456") {
res.end(JSON.stringify(dataSuccess));
res.end(JSON.stringify(dataError));
但是这种接口,只能适应post这一种请求,如果我们希望后台给的接口支持post和get。
显然上一篇中提到了的router.get和router.post都不能满足需求。
在中支持的方式是很多的,具体可以看文档。
我们就需要改造了,用到app.all了。
router.all('/login',function (req, res, next) {
console.log(req.method);
if (req.method == "POST") {
var param = req.
var param = req.query || req.
console.log(param);
console.log(param.username);
console.log(param.password);
if (param.username == "hgdqstudio" && param.password == "123456") {
res.end(JSON.stringify(dataSuccess));
res.end(JSON.stringify(dataError));
改造就很获取请求方式,饭后获取请求里面的参数:
post请求获取的参数是在body里面,
get请求获取的参数是在query里面,后面的params暂未发现有什么作用。
然后我们就可以在postman里面测试或是用
提到的mui.ajax来测试【我使用的十MUI框架写的手机端界面】。
&&相关文章推荐
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:376122次
积分:5582
积分:5582
排名:第5009名
原创:174篇
评论:132条
文章:19篇
阅读:21941
文章:37篇
阅读:39266
文章:26篇
阅读:52481
文章:49篇
阅读:128335
文章:10篇
阅读:17907
文章:18篇
阅读:97779
(1)(3)(9)(8)(13)(6)(3)(5)(3)(10)(4)(1)(7)(7)(8)(10)(12)(4)(13)(9)(3)(14)(3)(7)(4)(10)
(window.slotbydup = window.slotbydup || []).push({
id: '4740881',
container: s,
size: '200,200',
display: 'inlay-fix'参考:/questions/5892569/responding-with-a-json-object-in-nodejs-converting-object-array-to-json-string
客户端用ajax获取url返回的json,具体问题见
服务器用nodejs写,创建一个服务器监听具体url并用回调函数处理,返回json数据。(nodejs基础见)
代码示例:
客户端html:
&!DOCTYPE html&
&html lang=&en&&
&meta charset=&UTF-8&&
&title&addon&/title&
&script src=&/jquery/1.9.0/jquery.js& type=&text/javascript&&&/script&
&button&click me!&/button&
&p&...&/p&
&script type=&text/javascript&&
const hostname = '127.0.0.1';
const port = 1337;
$(function(){
$(&button&).bind(&click&,function(){
var url = &http://& + hostname + &:& +
dataType:&jsonp&,
jsonp:&callback&,
jsonpCallback:&success_jsonpCallback&
}).done(function(data) {
$(&p&).html(data.toString);
nodejs服务器:
const http = require('http');
const addon = require('./build/Release/addon');//调c++方法引入的
const hostname = '127.0.0.1';
const port = 1337;
http.createServer((req, res) =& {
res.writeHead(200, {&Content-Type&: &application/json&});
var otherArray = [&item1&, &item2&];
var otherObject = { item1: &item1val&, item2: &item2val& };
var json = JSON.stringify({
anObject: otherObject,
anArray: otherArray,
another: addon.hello()&span style=&white-space:pre&& &/span&//c++文件中暴露的方法
res.end(&success_jsonpCallback(& + json + &)&);&span style=&white-space:pre&& &/span&//!!一定要加配置的回调方法名
// res.writeHead(200, { 'Content-Type': 'text/plain' });
// res.end(addon.hello());
}).listen(port, hostname, () =& {
console.log(`Server running at http://${hostname}:${port}/`);
记得先起服务器,在按网页上的按钮。
本文已收录于以下专栏:
相关文章推荐
json格式简单命了,比XML更易解析,所以在web开发中前后端传送数据经常使用json格式。我们知道node是基于JavaScript的环境,而json是基于JavaScript对象的格式,所以在n...
一.node.js的安装
1.到官网www.nodejs.org下载windows下.msi的安装包双击运行安装
2.安装完以后进行全局安装目录设置:
son格式被越来越多的开发者说青睐,我们常常在接口定义时使用这种格式参数进行数据交换.
今天主要给大家从繁到简的几个node.js下使用的提交 json个数参数的方式方法.
下面示例中出现的参数都...
nodejs是服务器端的javascript的处理平台。json(JavaScript Object Notation) 是一种轻量级的数据交换格式。我们在写服务端的程序时往往需要使用json来处理数...
本节讲述Geoserver的wfs服务,通过GetFeature接口实现feature的获取,查询等。
概述:WeUI 是一套同微信原生视觉体验一致的基础样式库,由微信官方设计团队为微信内网页和微信小程序量身设计,令用户的使用感知更加统一。包含button、cell、dialog、 progress、 ...
function ajax(){
一.将android-async-http.jar包导入到android项目的lib下
二.手机客户端代码
1.MainActivity.java
public class Ma...
本文由 @EGWriket出品,转载请注明出处。环境软件:untiy5.0.2f1界面使用自带的UGUI,主要是输入框和登录按钮
连接网络代码新建LoginEvent脚本using U...
他的最新文章
讲师:王哲涵
讲师:韦玮
您举报文章:
举报原因:
原文地址:
原因补充:
(最多只允许输入30个字)关键词:json node express body-parser ajax与node post方法
json格式简单命了,比XML更易解析,所以在web开发中前后端传送数据经常使用json格式。我们知道node是基于JavaScript的环境,而json是基于JavaScript对象的格式,所以在node中使用json格式甚至都不用进行数据格式的转换,这比java环境中方便快速。下面来讲解一下怎么在html页面上使用ajax传递json数据到基于express框架(node.js)的服务器中。
从html页面使用ajax技术(post方法)传送一个json对象到express框架的服务器上。
通过cmd命令行工具在系统根目录新建一个文件夹:
$ mkdir ajaxtest
在该文件夹下面建立两个文件:ajax.html,ajaxjs.js。
在cmd命令行工具打开文件夹,并且通过npm安装需要加载的node模块:
$ cd ajaxtest
$ npm install body-parser express fs
1.前端代码(ajax.html)
&!DOCTYPE html&
lang="en"&
charset="UTF-8"&
type="button" value="传输" name="save" id="save_data" onclick="testAjax()"&
id="out_tip" style="border:1height:30margin-top:10line-height:30"&&
function testAjax()
var text={"name":"张三","age":40};
if (window.XMLHttpRequest) {
xmlhttp = new XMLHttpRequest();
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
xmlhttp.onreadystatechange = function() {
if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
console.log('服务器响应成功');
document.getElementById("out_tip").innerHTML=xmlhttp.responseT
xmlhttp.open("POST", "http://127.0.0.1:3000/ajaxjs.js", true);
xmlhttp.setRequestHeader("Content-type","application/json");
xmlhttp.send(JSON.stringify(text));
console.log(text);
console.log(JSON.stringify(text));
console.log(typeof JSON.stringify(text));
1)var text={“name”:”张三”,”age”:40},这是一个json对象。
2)xmlhttp.open(“POST”, ““, true)中第二个参数根据后端服务中的路由自己设置。
3)body-parser接收的参数是string,所以需要先把json对象转换成字符串,xmlhttp.send(JSON.stringify(text))。
2.后端代码(ajaxjs.js)
var express = require('express');
var bodyParser = require('body-parser');
var fs=require("fs");
var app = express();
app.use(express.static("./"));
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: true }));
app.post("/ajaxjs.js", function(request, response){
console.log(request.body);
response.send(request.body);
app.listen(3000, function() {
console.log("server start");
1)因为ajax.html和ajaxjs.js一样位于根目录下,所以设置静态文件的路径为根目录(”./”)。
2)request.body是一个json对象,而不是string。
在cmd命令行工具中打开ajaxtest文件夹,运行ajaxjs.js文件:
$ cd ajaxtest
$ node ajaxjs.js
在浏览器中输入:,如图:
点击传输按钮,从服务器获得了相应数据{“name”:”张三”,”age”:40},浏览器如图:
服务器监控如图:
参考资料:
本文已收录于以下专栏:
相关文章推荐
参考:/questions/5892569/responding-with-a-json-object-in-nodejs-converting-obj...
一.node.js的安装
1.到官网www.nodejs.org下载windows下.msi的安装包双击运行安装
2.安装完以后进行全局安装目录设置:
1.创建环境
#cmd express
2.修改代码
* Module dependencies.
var express = require('...
html :   
           
        &#...
function ajax(){
先写一个nodejs文件用于向服务器发送json数据:
jsonClient.js:
var http = require('http');
var crypto = require('cry...
目前 React 、 Webpack 等技术如火如荼,你是不是还在愁苦如何把这些杂乱的知识统统学习一下,开启一段新的前端开发之路呢?本文将以一个例子来讲解如何使用 React 、 Webp...
图片上传:
页面ajax写法  
var data = new FormData();
   var files = $(&#idFile&)[0].
最近实现了node.js当作后台,jquery写前台AJAX代码的,实现用户登录和注册的功能,刷新了前后端交互的三观。特记录一下。1.login.ejs实现form框架
ajaxJSON数据传递交换/ajaxJSON传对象/解析对象,JAVA封装成对象传到jsp/html页面, ajax中使用JSON
他的最新文章
讲师:王哲涵
讲师:韦玮
您举报文章:
举报原因:
原文地址:
原因补充:
(最多只允许输入30个字)本帖子已过去太久远了,不再提供回复功能。问题对人有帮助,内容完整,我也想知道答案
问题没有实际价值,缺少关键内容,没有改进余地
我用nodejs写服务器,如果我想把我从数据库里查收的对象返回去直接用res.json(doc),但是如果我想在json中加一个字段message:sucess。表示成功怎么写?就是我想把所有的请求返回的json中都带有message字段这个怎么加?
答案对人有帮助,有参考价值
答案没帮助,是错误的答案,答非所问
最省事的方法:
res.json(JSON.stringify({data: doc, message: success}))
但总是这么写会很烦,你会逐步的优化你的写法
function toJSON (data = {}, message = '', status = '', code = '') {
JSON.stringify({ data, message, status, code })
分享到微博?
Hi,欢迎来到 SegmentFault 技术社区!⊙▽⊙ 在这里,你可以提出编程相关的疑惑,关注感兴趣的问题,对认可的回答投赞同票;大家会帮你解决编程的问题,和你探讨技术更新,为你的回答投上赞同票。
明天提醒我
关闭理由:
删除理由:
忽略理由:
推广(招聘、广告、SEO 等)方面的内容
与已有问题重复(请编辑该提问指向已有相同问题)
答非所问,不符合答题要求
宜作评论而非答案
带有人身攻击、辱骂、仇恨等违反条款的内容
无法获得确切结果的问题
非开发直接相关的问题
非技术提问的讨论型问题
其他原因(请补充说明)
我要该,理由是:

我要回帖

更多关于 express 返回json格式 的文章

 

随机推荐