后台接口開發


之前做的從數據庫中讀取數據渲染到頁面上的操作稱為后端渲染。采用后台接口的方式,后台只提供數據,所有與頁面有關的操作都放在前端來做,這種開發模式是前后端分離的,稱作前端渲染。

幾個主流的后台接口開發

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...');
});


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM