1 .routes文件夹中.index.js和getData.js代码为
(1)index.js:
var express=require('express');
var router=express.Router();
router.get('/',function(req,res){
res.render('index.html')
})
module.exports = router
(2)getData.js
var express=require('express');
var router=express.Router();
var data={
'name':'zhao',
'sex':'femal'
}
router.get('/test',function(req,res){
res.send(JSON.stringify(data))
})
module.exports=router
2.主代码 app.js为
var express=require('express');
var data=require('./routes/getData');
var url =require('./routes/index');
var ejs = require('ejs');
var app=express();
app.engine('html', ejs.__express);
app.set('view engine', 'html');
app.use('/',url);
app.use('/getData',data)
app.listen(3030);
3.views文件夹中index.html为
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
<script src="https://cdn.staticfile.org/jquery/1.10.2/jquery.min.js"></script>
</head>
<body>
<h1>node学习</h1>
<div id="container">
hello
</div>
<script>
$.ajax({
url:'/getData/test',
dataType:'json'
})
.done(function (data) {
console.log(data)
})
.fail(function(error){
console.log(error)
})
</script>
</body>
</html>
4.结果为:
5.
app.get('/getData/test')相当于
app.use('/getData')+router.get('/test')
router代表一个由express.Router()创建的对象,在路由对象中可定义多个路由规则。
l另一个区别是,app.get()不能传入路由对象,只能传入回调函数,而app.use()传入回调函数和路由对象皆可。