在尝试运行我的应用时,请继续获取此错误。知识水平不高的人尝试了许多在线解决方案来解决此问题,但没有任何事情使我起床并运行。这是错误-
ExpandableTextView expandableTextView1 = (ExpandableTextView) findViewById(R.id.expandable_text_view);
expandableTextView1.setText(getString(R.string.text1));
ExpandableTextView expandableTextView2 = (ExpandableTextView) findViewById(R.id.expandable_text_view2);
expandableTextView2.setText(getString(R.string.text2));
index.js
Error: Route.get() requires a callback function but got a [object Undefined]
at Route.(anonymous function) [as get] (d:\dev_portal\bit_racer_real\alpha_bit_racer\node_modules\express\lib\router\route.js:202:15)
catalog.js
var express = require('express');
var router = express.Router();
router.get('/', function(req, res) {
res.redirect('/catalog');
});
module.exports = router;
app.js
var express = require('express');
var router = express.Router();
// Require controller modules.
var horse_controller = require('../controllers/horseController');
router.get('/', horse_controller.index);
module.exports = router;
不确定我哪里出错了,我还听说我可能会在express的路由index.js文件中打过电话。该呼叫不存在。我花了几个小时仔细检查代码,以进行小的更改,试图清除这个简单的错误:(
其他任何人都遇到过此问题。我很想得到一个明确的答案。
答案 0 :(得分:2)
据我所知,您的index.js
文件位于horsecontroller
目录中。
但是,当您将CommonJS
的{{1}}与目录而不是文件一起使用时,它将自动默认为require
,因此您不必指定{{1} } ../path/to/directory/index.js
函数中,只需指定horse_controller.index
。
最终代码如下:
app.get
答案 1 :(得分:1)
就像达克什说的那样,在<script type="text/javascript">
function SelectAll(Id) {
//get reference of GridView control
var Grid = document.getElementById("<%= GridView1.ClientID %>");
//variable to contain the cell of the Grid
var cell;
if (Grid.rows.length > 0) {
//loop starts from 1. rows[0] points to the header.
for (i = 1; i < grid.rows.length; i++) {
//get the reference of first column
cell = grid.rows[i].cells[0];
//loop according to the number of childNodes in the cell
for (j = 0; j < cell.childNodes.length; j++) {
//if childNode type is CheckBox
if (cell.childNodes[j].type == "checkbox") {
//Assign the Status of the Select All checkbox to the cell checkbox within the Grid
cell.childNodes[j].checked = document.getElementById(Id).checked;
}
}
}
}
}
</script>
行(文件catalog.js文件)中,router.get('/', horse_controller.index);
不是函数。
答案 2 :(得分:1)
在您的catalog.js
中,您需要您的控制器,例如require('../controllers/horseController')
,这意味着您拥有horseController.js
文件或horseController
是目录,并且其中有一个{{1} }文件。要求它后,将其保存在index.js
变量中,并在将其注册为请求处理程序时指定horse_controller
假设您已经在horse_controller.index
中导出了这样的对象
horseController
但是,如果不是这种情况,为什么会出现该错误
错误:Route.get()需要回调函数,但是得到了[object Undefined]
此代码表示您具有更高的权限,无法导出module.export = {
index: function(request, response) {
// Your code goes here
}
}
文件或../controllers/horseController
文件中的任何内容
如果../controllers/horseController/index.js
目录下的index.js
文件可以像这样将horseController
变量作为请求处理程序直接传递给horse_controller
app.get
直接传递它是因为您在app.get('/', horse_controller);
文件中直接导出了 Express Router
答案 3 :(得分:0)
我解决了这个问题。
我从控制器.js文件中缺少.index函数。
添加了这一行
exports.index = function(req, res) {
res.send('NOT IMPLEMENTED: Site Home Page');
};
现在.index不再寻找对象。
感谢您的帮助,感谢您的答复。 :)