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

时间:2015-08-12 16:41:02

标签: javascript ajax node.js express localhost

我工作正常,当我重新启动服务器时,它会返回此错误:

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...');

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

4 个答案:

答案 0 :(得分:1)

您可能正在使用快递4.所以您收到此错误。您可以单独安装软件包body-parsercookie-parsercookie-session

按以下方式安装包:

npm install package-name

突然改变快递版本时我也遇到了问题。然后这个参考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...');

答案 1 :(得分:1)

运行 npm install body-parser

试试这个:

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

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

而不是:

app.use(express.bodyParser());

答案 2 :(得分:1)

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

res.send ('welcome mate');

答案 3 :(得分:0)

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

{x:5}是你的json对象