我不明白为什么我们需要body-parser在Express应用程序中,因为我们可以在不使用的情况下获取数据body-parser.它实际上做了什么以及如何做?
我是后端代码的新手,我正在尝试创建一个函数来响应我的JSON字符串.我现在有一个例子
function random(response) {
console.log("Request handler 'random was called.");
response.writeHead(200, {"Content-Type": "text/html"});
response.write("random numbers that should come in the form of json");
response.end();
}
Run Code Online (Sandbox Code Playgroud)
这基本上只打印字符串"应该以JSON形式出现的随机数".我想要做的是使用任何数字的JSON字符串进行响应.我需要使用不同的内容类型吗?该函数应该将该值传递给另一个客户端吗?
谢谢你的帮助!
我有一个mongodb数据库,调用pokemon了一个名为的集合pokemons.这是我尝试编写一个将find()在mongodb中执行操作的函数:
'use strict';
var MongoClient = require('mongodb').MongoClient;
var assert = require('assert');
// db url
var url = 'mongodb://localhost:27017/pokemon';
exports.getPokemonByName = function (name) {
MongoClient.connect(url, function(err, db) {
assert.equal(null, err);
var cursor = db.collection('pokemons').find({name: name});
// how to return json?
});
};
Run Code Online (Sandbox Code Playgroud)
然后我在另一个文件中调用此函数:
var express = require('express');
var router = express.Router();
router.get('/pokedex', function (req, res) {
res.jsonp(db.getPokemonByName('Dratini'));
})
Run Code Online (Sandbox Code Playgroud)
此链接有助于显示如何通过each()对游标对象执行某种方法将mongodb数据记录到控制台,但我不知道如何return通过该getPokemonByName函数进行json .我试图在getPokemonByName函数的根作用域上定义一个空数组,并将数据推送到该数组中,.each方法的每次迭代都显示在该链接中,但我认为我仍然无法返回该数组,因为它发生在事实之后.
顺便说一句,我真的只是为了好玩并了解MongoDB和Node.js,所以我不想使用像Mongoose这样的ODM来为我做这些工作.
谢谢你的帮助!
编辑
只是好奇,对于正在读这篇文章的人来说,为什么这个问题会被贬低?是因为答案可以从其他类似的问题中获得,还是其他什么? …
我是Nodejs的初学者,我有一个侧面项目来检查我的端点的状态.
我最初尝试使用XMLHttp,但由于CORS,我的请求被阻止了.现在我想尝试使用节点消耗这些API点,如果它返回200,则绘制该行为绿色,如果其下方将该行描绘为红色.
我的server.js有以下代码
var express = require('express');
var app = express();
var request = require('request');
var port = process.env.PORT || 3000;
app.set('port', (port));
app.use(express.static(__dirname + '/'));
app.get('/', function(request, response) {
response.render('/');
});
app.listen(app.get('port'), function() {
console.log('Node app is running on port', app.get('port'));
});
var services = [
{
url: 'MyGetEndpoint'
},
{
url: 'MyGetEndpoint'
}
];
function checkService( url ) {
request(url, function (error, response, body) {
if (!error && response.statusCode == 200) {
console.log(response)
}
else{
console.log(error);
}
}); …Run Code Online (Sandbox Code Playgroud) node.js ×4
javascript ×3
body-parser ×1
database ×1
express ×1
html ×1
json ×1
mongodb ×1
rest ×1