-
案例目標:實作GET的主要屬性為req.method,并且生成亂數
- 使用nodejs,實作一個Ajax的get請求方式
- 將lib里的data.json檔案請求獲取出來
- data里面的資料為
{ "success":[ { "data": "你贏了", "message":"請求成功", "code": "200" } ], "fail":[ { "data": "你輸了", "message":"請求失敗", "code": "200" } ] }
-
案例準備
-

-
案例代碼
// 1.定義核心模塊 http fs path const http = require('http') const fs = require('fs') const path = require('path') // 2.創建服務 const server = http.createServer((req, res) => { // 2.1 如果url地址為/getList 執行代碼 // -req.method 為請求型別 // 生成亂數,大于0.5為0,小于為1 let render = Math.random() > 0.5 ? 0 : 1 // console.log(render) // 2.2 拼接字串,為讀取資料傳參 // -__dirname為獲取的目錄地址 // -lib為存放資料的名字,data.json為讀取的檔案 const filepath = path.join(__dirname, 'lib', 'data.json') // -console.log('拼接的地址', filepath) if (render === 0 && req.url === '/getList' && req.method === 'GET') { // 2.3 讀取data檔案 fs.readFile(filepath, 'utf8', (err, data) => { // - 列印錯誤資訊 if (err) { console.log('錯誤日志', err) return } // 讀取的為json資料,設定請求頭,如果不設定,則列印亂碼資訊 res.setHeader('content-type', 'application/json;charset=utf8') // - 回傳資料 let jsonArr = JSON.parse(data)['success'] let jsonStr = JSON.stringify(jsonArr) res.end(jsonStr) }) } else if (render === 1 && req.url === '/getList' && req.method === 'GET') { fs.readFile(filepath, 'utf8', (err, data) => { // - 列印錯誤資訊 if (err) { console.log('錯誤日志', err) return } // 讀取的為json資料,設定請求頭,如果不設定,則列印亂碼資訊 res.setHeader('content-type', 'application/json;charset=utf8') // - 回傳資料 let jsonArr = JSON.parse(data)['fail'] let jsonStr = JSON.stringify(jsonArr) res.end(jsonStr) }) } }) // 3.啟動服務 // 8111為埠號,默認8000,盡量使用8開頭,如果使用其他,咋不會正常運行,會報錯 server.listen(8111, () => { // 服務提示資訊,運行代碼后的提示 console.log('埠1111已經開啟') })
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/300257.html
標籤:其他
