两种常用的开发模式:
后台渲染:通过浏览器发送请求,服务器端向浏览器端返回的是一个完整的页面
基于后台接口的前端渲染:服务器端只提供数据,不提供完整的页面
后台接口开发
导入模块:
const express = require('express');
const db = require('./db.js');
const app = express();
express提供的json接口:
// 指定api路径 allBooks (json接口)
app.get('/allBooks',(req,res)=>{
let sql = 'select * from book';
db.base(sql,null,(result)=>{
res.json(result);
});
});
express提供的jsonp接口:
// 指定api路径 allBooks (jsonp接口)
app.get('/allBooks',(req,res)=>{
let sql = 'select * from book';
db.base(sql,null,(result)=>{
res.jsonp(result);
});
});
修改json回调函数传递参数的key:
// 修改json回调函数传递参数的key
app.set('jsonp callback name', 'cb');
// 指定api路径 allBooks (jsonp接口)
app.get('/allBooks',(req,res)=>{
let sql = 'select * from book';
db.base(sql,null,(result)=>{
res.jsonp(result);
});
});
express提供的restful接口:
// http://localhost:3000/books/book/1
app.get('/books/book/:id',(req,res)=>{
let id = req.params.id;
let sql = 'select * from book where id=?';
let data = [id];
db.base(sql,data,(result)=>{
res.json(result[0]);
});
});
监听端口:
app.listen(3000,()=>{
console.log('running...');
});