使用Node.js和Koa框架實現前後端互動
koa.png
對於一個來說不僅僅要會前端的內容,後端的技術也需要熟練掌握。今天我就要透過一個案例來描述一下前端是如何和後端進行資料互動的。
首先,我們的伺服器需要部署好Nodejs的環境,這裡我用Nodejs在windows下的本地伺服器來做演示。部署NodeJS環境請看我這篇文章。
環境部署好之後我們需要建立一個工程的目錄,並且在目錄中透過npm來安裝Koa框架以及一些用到的依賴庫。下圖是我完成後的目錄結構。
1.png
cd
到你的工程目錄,然後執行npm koa
目錄裡就會多出node_modules
這樣一個資料夾,裡邊存放用到的一些依賴庫。
2.png
接下來我們建立一個app.js
檔案,用來設定訪問伺服器時用到的路由,程式碼如下
var koa = require('koa');var controller = require('koa-route');//需要透過npm來新增此依賴var app = koa();var service = require('./service/WebAppService.js');//引用WebAppService.js/*設定路由*/app.use(controller.get('/ajax/search',function*(){ this.set('Cache-Control','no-cache'); this.set('Access-Control-Allow-Origin','*'); var querystring = require('querystring'); var params = querystring.parse(this.req._parsedUrl.query); var key = params.key; var start = params.start; var end = params.end; this.body = yield service.get_search_data(key,start,end); })); app.listen(3001);console.log('Koa server is started');
node_modules
資料夾內預設是沒有koa-route
這個依賴的,需要透過npm koa-route
來安裝
然後我們需要在service
目錄下建立一個WebAppService.js
檔案,用來請求介面,程式碼如下
var fs = require('fs'); exports.get_search_data = function(key,start,end){ return function(cb){ var http = require('http'); var qs = require('querystring'); var data = { key:key, start:start, end:end }; /*請求MobAPI裡的火車票查詢介面*/ var content = qs.stringify(data); var http_request = { hostname:'apicloud.mob.com', port:80, path:'/train/tickets/queryByStationToStation?' + content, method: 'GET' }; var req = http.request(http_request,function(response){ var body = ''; response.setEncoding('utf-8'); response.on('data',function(chunk){ body += chunk; }); response.on('end',function(){ cb(null,body); }); }); req.end(); } }
這樣實際是做了一個介面的轉接,我們不僅可以請求本地的介面而且還可以請求第三方介面,避免了跨域請求時瀏覽器阻斷請求。
接下來我們透過命令來開啟服務,終端輸入node app.js
3.png
然後在瀏覽器請求介面 北京&end=上海
4.png
這樣我們就實現了介面請求,並獲得json資料,下一章我會將這些從後端獲得的資料以一種更加直觀的方式呈現在介面上,並運用Vue.js框架製作一個火車票查詢系統。
請看
作者:IT青年
連結:
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/2730/viewspace-2809548/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Node.js實現前後端互動——使用者登陸Node.js後端
- PHP前後端互動PHP後端
- WEB前後端互動(UI介面和資料內容)如何實現Web後端UI
- API前後端互動模式API後端模式
- 一個簡單的vue + koa2前後端互動例項Vue後端
- Vue2+Koa2+Typescript前後端框架教程--03後端路由和三層模式配置VueTypeScript後端框架路由模式
- 前後端資料交換互動後端
- SSH前後端資料互動後端
- 前後端資料的互動--如何實現資料加密?--02後端加密
- 前後端資料互動利器--Protobuf後端
- 騰訊天氣前後端互動案例後端
- (系列十一)Vue3框架中路由守衛及請求攔截(實現前後端互動)Vue框架路由後端
- 圖解基於 Node.js 實現前後端分離圖解Node.js後端
- AJAX-前後端互動的藝術後端
- 雲物件 - 重新定義前後端互動物件後端
- Node之簡單的前後端互動後端
- 12.2 Vue前後端互動 P75-Vue後端
- 軟體測試--前後端資料互動後端
- WEB程式的前後端資料互動流程Web後端
- 前後端資料的互動--如何確保前後端資料的安全性?後端
- 一種安全的前後端資料互動方案後端
- 前後端資料互動形式隨手筆記後端筆記
- 利用Vue3的axios+Python的flask實現前後端互動功能VueiOSPythonFlask後端
- 前後端資料互動(八)——請求方法 GET 和 POST 區別後端
- WebSocket實現前後端通訊Web後端
- Node.js實現使用者評論社群(體驗前後端開發的樂趣)Node.js後端
- KOA2框架原碼解析和實現框架
- KOA2框架原理解析和實現框架
- 中後端管理系統前後分離、前端框架的實現拙見後端前端框架
- React + Node.JS 巧妙實現後臺管理系統の各種小技巧(前後端)ReactNode.js後端
- Node.js的Koa實現JWT使用者認證Node.jsJWT
- 前後端資料互動(三)——ajax 封裝及呼叫後端封裝
- SpringBoot+Vue前後端分離及互動Spring BootVue後端
- Vue前後端互動、生命週期、元件化開發Vue後端元件化
- 遷移iOS API到前端並實現前後端分離(非Node.js)iOSAPI前端後端Node.js
- 基於使用者認證的前後端實現後端
- 實現前後端分離的心得後端
- koa框架會用也會寫—(koa的實現)框架