无法在 node + express localhost 中进行 .get 调用

cannot make .get calls in node + express localhost

我工作正常,但是当我重新启动服务器时突然出现 returns 这个错误:

connect deprecated multipart: use parser (multiparty, busboy, formidable) npm mo
dule instead node_modules\express\node_modules\connect\lib\middleware\bodyParser
.js:56:20
connect deprecated limit: Restrict request size at location of read node_modules
\express\node_modules\connect\lib\middleware\multipart.js:86:15
Listening on port 3000...

服务器已启动,但 .get ajax 调用不再有效,显然是由于此原因。这是我的 server.js 文件:

var express = require('express'),
    app = express();
    app.use(express.bodyParser());

app.get('/gomerias.json', function(req, res) {
    res.send();
});

app.use(express.static(__dirname + '/public'));

app.listen(3000);
console.log('Listening on port 3000...');

如何解决此处已弃用的问题?。谢谢!

您可能正在使用 express 4。所以您收到了这个错误。您可以单独安装软件包 body-parsercookie-parsercookie-session

安装包:

npm install package-name

当突然更改 express 版本时,我也遇到了问题。然后这个参考文献 connect: multipart: use parser (multiparty, busboy, formidable) 帮助了我。

您更新后的代码应该是

var express = require('express');
var cookieParser = require('cookie-parser');
var bodyParser = require('body-parser');
var cookieSession = require('cookie-session')

var app = express();
    app.use(cookieParser());
    app.use(bodyParser());
    app.use(cookieSession({secret: 'app_1'}));

app.get('/gomerias.json', function(req, res) {
    res.send();
});

app.use(express.static(__dirname + '/public'));

app.listen(3000);
console.log('Listening on port 3000...');

运行 npm install body-parser

然后试试这个:

var bodyParser = require('body-parser');

app.use(bodyParser.json());
app.use(bodyParser.urlencoded({extended: true}));

而不是这个:

app.use(express.bodyParser());

在您发布的代码中,方法 app.get 有 return 语句作为 res.send ();你在这里发送的是什么?其实没什么。这就是当您在应用程序上进行 get 调用时输出为空的原因。尝试至少发送一个这样的字符串

res.send ('welcome mate');
res.send ( JSON.stringify({ x: 5 }));

其中 {x:5} 是您的 json 对象