Node.js Node JS:在Angular JS resolve下调用Http服务
我是NodeJS的新手 最初,当页面加载localhost:3000时 调用index.html并重定向到alluser.html app.jsNode.js Node JS:在Angular JS resolve下调用Http服务,node.js,express,Node.js,Express,我是NodeJS的新手 最初,当页面加载localhost:3000时 调用index.html并重定向到alluser.html app.js var express = require('express'); var path = require('path'); var app = express(); path = require('path'), index = require('./routes/index'); app.use(express.static(path.join(_
var express = require('express');
var path = require('path');
var app = express();
path = require('path'),
index = require('./routes/index');
app.use(express.static(path.join(__dirname, '.')));
app.use(express.static(path.join(__dirname, 'admin_4_angularjs')));
app.get('/', function(req, res)
{
res.sendFile(path.join(__dirname + '/admin_4_angularjs/index.html'));
});
module.exports = app;
var port = 3000;
app.listen(port, function()
{
console.log('Listening on ' + port);
});
main.js
// UI Bootstrap
.state('allUsers',
{
url: "/allUsers.html",
templateUrl: "views/allUsers.html",
data:
{
pageTitle: 'Users List'
},
controller: "allUsersController",
resolve:
{
allUserslist: function($http)
{
return $http.get("/users").then(function(response)
{
return response.data;
})
}
}
})
index.js
var express = require('express');
var mongodb = require('mongodb');
var router = express.Router();
var app = express();
var MONGODB_URI = 'mongodb://xxx.xxx.1.23:27017/RELRE';
var db;
var coll;
mongodb.MongoClient.connect(MONGODB_URI, function(err, database) {
if(err) throw err;
db = database;
});
router.get('/users', function(req, res) {
var collectionInfo = db.collection("UsersInfo");
collectionInfo.find({}).toArray(function(err, employees) {
res.status(200).json({'myCollection' : employees});
});
});
module.exports = router;
我在浏览器控制台下得到404
404(未找到)
您能告诉我如何解决这个问题吗?您需要您创建的路由器,但您需要告诉express使用它 最简单的方法是将
app.use(index)
添加到app.js的GET
路径之后
app.get('/', function(req, res)
{
res.sendFile(path.join(__dirname + '/admin_4_angularjs/index.html'));
});
app.use(index)
Express自上而下查找匹配的路由,因此在查找您的/users
路由时,它将首先检查您的/
路由,然后检查您包含的路由器的路由
但是,如果您计划使用多个路由器,我还建议您为应用程序提供一个基本路径。使用指示路由器应处理以该基本路径开始的所有路由。例如,在您的特定情况下:
app.use('/users', index) // may also want to give the router a more meaningful name
然后在index.js
中修改路由器,如下所示:
router.get('/', function(req, res) { // within the router, '/users' is now assumed to be the base path
// Logic for this route
});
您需要创建的路由器,但需要告诉express使用它
最简单的方法是将app.use(index)
添加到app.js的GET
路径之后
app.get('/', function(req, res)
{
res.sendFile(path.join(__dirname + '/admin_4_angularjs/index.html'));
});
app.use(index)
Express自上而下查找匹配的路由,因此在查找您的/users
路由时,它将首先检查您的/
路由,然后检查您包含的路由器的路由
但是,如果您计划使用多个路由器,我还建议您为应用程序提供一个基本路径。使用指示路由器应处理以该基本路径开始的所有路由。例如,在您的特定情况下:
app.use('/users', index) // may also want to give the router a more meaningful name
然后在index.js
中修改路由器,如下所示:
router.get('/', function(req, res) { // within the router, '/users' is now assumed to be the base path
// Logic for this route
});