之前做的從數據庫中讀取數據渲染到頁面上的操作稱為后端渲染。采用后台接口的方式,后台只提供數據,所有與頁面有關的操作都放在前端來做,這種開發模式是前后端分離的,稱作前端渲染。
幾個主流的后台接口開發
1.json接口
2.jsonp接口(跨域接口)
3.restful接口
下面簡單演示一下這三個接口的方式:
/** * 后台接口開發 */ const express = require('express'); const db = require('./db.js'); const app = express(); //指定api路徑 allBooks(json接口) app.get('/allBooks',(req,res) => { let sql = 'select * from book'; db.base(sql,null,(result) => { res.json(result); }); });
//默認的回調函數的名稱就是callback,如果想要覆蓋默認的名稱,執行下面語句即可 //默認的訪問方式為:http://localhost:3000/allBooks?callback=foo //訪問方式為:http://localhost:3000/allBooks?cb=foo //如果訪問錯誤,瀏覽器不會報錯,而是返回json格式的數據 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); }); }); app.listen(3000,()=>{ console.log('running...'); });
/** * restful api 是從URL的格式來表述的 * get http://localhost:3000/books * get http://localhost:3000/books/book * post http://localhost:3000/books/book * get http://localhost:3000/books/book/1 * put http://localhost:3000/books/book * delete http://localhost:3000/books/book/2 * * 傳統的URL風格: * http://localhost:3000/ * http://localhost:3000/toAddBook * http://localhost:3000/addBook * http://localhost:3000/toEditBook?id=1 * http://localhost:3000/editBook * http://localhost:3000/deleteBook?id=2 */ const express = require('express'); const db = require('./db.js'); const app = express(); app.get('/books',(req,res)=>{ let sql = 'select * from book'; db.base(sql,null,(result) => { res.json(result); }); }); //如果你的路由為'/books/book/:id',id屬性就可以以req.params.id形式獲取到 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...'); });