[TOC]
>[success] # 處理http請求的綜合示例
在上兩章里面講解了 **nodejs** 如何處理接收到的 **post請求** 與 **get請求** 的數據,之前還遺漏了一個點,就是后端 **response** 給前端 **返回數據時候,可以指定返回數據的格式** ,那么接下來在下面代碼中演示一下:
~~~
// 引入node自帶的http模塊
const http = require('http')
// 引入querystring模塊
const querystring = require('querystring')
// 通過http創建服務
const server = http.createServer((req, res) => {
const method = req.method
const url = req.url
const path = url.split('?')[0]
const query = querystring.parse(url.split('?')[1])
// 設置返回格式為 JSON
res.setHeader('Content-type', 'application/json')
// 返回的數據
const resData = {
method,
url,
path,
query
}
// 返回
if(method === 'GET'){
res.end(
// 這里返回的是字符串,但是瀏覽器只知道你是字符串并不知道你這個字符串的類型最終是html還是json,所以上面需要告訴瀏覽器我返回的字符串類型是json
JSON.stringify(resData)
)
}
if(method === 'POST'){
let postData = ''
req.on('data', chunk => {
postData += chunk.toString()
})
req.on('end', () => {
resData.postData = postData
res.end(
// 這里返回的是字符串,但是瀏覽器只知道你是字符串并不知道你這個字符串的類型最終是html還是json,所以上面需要告訴瀏覽器我返回的字符串類型是json
JSON.stringify(resData)
)
})
}
})
// 監聽3000端口
server.listen(8001)
~~~
上面的代碼中設置了 `res.setHeader('Content-type', 'application/json')` 這段代碼,意思是 **服務端告訴瀏覽器** 我返回的格式是 **json** 格式,而并非是簡單的 **字符串格式**。
- NodeJS基礎
- 什么是NodeJS
- npm
- Node.js+Express+Koa2+開發Web Server博客
- 下載和安裝node
- nodejs和js的區別
- commonjs-演示
- nodejs如何debugger
- server端與前端的區別
- 項目需求分析
- 開發接口(不使用任何框架)
- http-概述
- 處理get請求
- 處理post請求
- 處理http請求的綜合示例
- 搭建開發環境
- 初始化并且開發路由
- 開發博客項目之數據存儲
- MySql介紹
- 數據庫操作(創建和增、刪、查)
- Nodejs 操作 Mysql
- Nodejs 鏈接 mysql 做成工具
- API 對接 MySQL
- 開發博客項目之登陸
- cookie-介紹
- cookie用于登錄驗證
- cookie做限制