我想使用节点的路由器功能来调用服务器端方法。我没有使用快速生成器来生成项目结构。
答案 0 :(得分:2)
我在Mukesh Sharma的回答中对代码做了一些修改并使其成功:
Server.js(服务器代码)
var express = require('express');
var app = express();
var routes = require('./FirstAppServer/route');
app.use('/', routes);
// //set static folder
app.use(express.static('FirstApp/public'));
app.use('/module', express.static('node_modules'));
app.listen(3000, function () {
console.log('Port 3000');
});
app.get('/', function (req, res) {
res.redirect('login.html');
});
module.exports = app;
route.js
var express = require('express');
var router = express.Router();
router.post('/endpoint', function (req, res, next) {
console.log('Server side call');
next();
});
module.exports = router;
的test.html
<!doctype html>
<html>
<head>
<title>Login</title>
<script src="js/jquery-3.1.0.min.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function() {
testServerCall();
});
function testServerCall(){
debugger;
$.ajax({
type:"post",
url:"/endpoint",
data:{
"a":"a"
},
success:function(){
console.log('success');
},
error:function(){
console.log('error');
}
});
}
</script>
</head>
<body>
<div id="divLogin">
<input type="text" id="txtUsername" />
</div>
<h2>Login</h2>
<a href="createUser.html">Create User</a>
</body>
</html>
答案 1 :(得分:0)
您可以在不同的文件中定义路线,并可以在egrep '[ ]+' testing.txt
中导入。
server.js - 服务器代码
server.js
api.js - Api路由器
var express =require('express');
var apis = require('./api.js');
var app = express();
app.use('/api', apis);
app.listen(3000);
希望它对你有所帮助。