错误:Route.put()需要回调函数,但得到了一个[object Undefined]
Error: Route.put() requires callback functions but got a [object Undefined]
我的终端控制台给了我以下信息:
Error: Route.put() requires callback functions but got a [object Undefined]
这是我的应用程序>路由>articles.server.routes.js
var users = require('../../app/controllers/users.server.controller'),
articles = require('../../app/controllers/articles.server.controller');
module.exports = function(app) {
app.route('/api/articles')
.get(articles.list)
.post(users.requiresLogin, articles.create);
app.route('/api/articles/:articleId')
.get(articles.read)
// .put(users.requiresLogin, articles.hasAuthorization, articles.update)
// .delete(users.requiresLogin, articles.hasAuthorization, articles.delete);
app.param('articleId', articles.articleByID);
};
我得到以下错误:
// .put(users.requiresLogin, articles.hasAuthorization, articles.update)
// .delete(users.requiresLogin, articles.hasAuthorization,
当我把这两行注释出来时,控制台中的错误就消失了。
我的package.json
中有"方法重写":"~2.2.0",并且安装正确。我在express.js
文件中正确地声明了它,所以我不确定我做错了什么。
var config = require('./config'),
express = require('express'),
morgan = require('morgan'),
compress = require('compression'),
bodyParser = require('body-parser'),
methodOverride = require('method-override'),****
session = require('express-session'),
flash = require('connect-flash'),
passport = require('passport');
module.exports = function(){
var app = express();
if (process.env.NODE_ENV === 'development'){
app.use(morgan('dev'));
} else if (process.env.NODE_ENV === 'production'){
app.use(compress());
}
app.use(bodyParser.urlencoded({
extended: true
}));
app.use(bodyParser.json());
app.use(methodOverride());
在我的情况下,我就是这么做的。而不是像这样导入我的控制器:
const forgotPassword = require('../controllers/forgotPasswordController');
我用过这个:
const { forgotPassword } = require('../controllers/forgotPasswordController');
它解决了
当api函数签名中的参数与编译时预期的参数不适用时,就会发生这种情况。确保您的控制器导入正确,以及在api和cntroller(复制粘贴)中以相同方式编写的contiller操作(函数)。
如果其他人遇到这种情况:当这种情况发生在我身上时,我有不匹配的调用,即PUT
正在调用POST
。确保所有东西都排好!
相关文章:
- 如何取消object.prototypes javascript的一个函数
- 如何在jquery中为object键创建一个工作变量以避免额外的代码
- 在JavaScript中,is't Object Literal Notation只是字典的另一个名称
- 为什么使用 Object('123') 创建对象会创建一个 String() 对象,但 typeof 是“对象”
- 我正在从API提取一个包含视频的Object标签.如何在javascript中暂停视频
- 给定一个对象数组,创建一个函数,该函数返回一个 Object,该 Object 具有按类型分组的路径数组
- requireJS Object 原型可能只是一个 Object 或 null - jQuery
- 创建一个具有 3 个方法的 JavaScript 对象抛出 Object 没有方法
- .get()需要回调函数,但得到了一个[object Undefined]
- MEANJS TypeError:Route.all()需要回调函数,但得到了一个[object Undefined]
- 错误:Route.put()需要回调函数,但得到了一个[object Undefined]
- 为什么我得到一个[object元素]
- 在Javascript中创建一个Object(类)结构
- ng-options在select中返回一个Object而不是String
- 从另一个对象创建一个Object数组
- 是否基于一个Object创建一系列下拉菜单,其中键为:[下拉选项数组]对
- Ember.js-使用removeObject只删除一个Object实例
- 用Javascript创建一个Object
- 量角器错误消息返回一个Object
- 车把访问一个[object object]