使用Node發出HTTP POST請求

了解如何使用Node發出HTTP POST請求

有多種方法可以在Node中執行HTTP POST請求,具體取決於您要使用的抽象級別。

使用Node執行HTTP請求的最簡單方法是使用Axios庫

const axios = require('axios')

axios .post(’/todos’, { todo: ‘Buy the milk’, }) .then((res) => { console.log(statusCode: </span><span style="color:#e6db74">${</span><span style="color:#a6e22e">res</span>.<span style="color:#a6e22e">statusCode</span><span style="color:#e6db74">}</span><span style="color:#e6db74">) console.log(res) }) .catch((error) => { console.error(error) })

另一種方法是使用請求庫

const request = require('request')

request.post( ‘/todos’, { json: { todo: ‘Buy the milk’, }, }, (error, res, body) => { if (error) { console.error(error) return } console.log(statusCode: </span><span style="color:#e6db74">${</span><span style="color:#a6e22e">res</span>.<span style="color:#a6e22e">statusCode</span><span style="color:#e6db74">}</span><span style="color:#e6db74">) console.log(body) } )

到目前為止突出顯示的2種方式都需要使用第三方庫。

POST請求僅使用Node標準模塊是可能的,儘管它比前面兩個選項更冗長:

const https = require('https')

const data = JSON.stringify({ todo: ‘Buy the milk’, })

const options = { hostname: yourwebsite.com, port: 443, path: ‘/todos’, method: ‘POST’, headers: { ‘Content-Type’: ‘application/json’, ‘Content-Length’: data.length, }, }

const req = https.request(options, (res) => { console.log(statusCode: </span><span style="color:#e6db74">${</span><span style="color:#a6e22e">res</span>.<span style="color:#a6e22e">statusCode</span><span style="color:#e6db74">}</span><span style="color:#e6db74">)

res.on(‘data’, (d) => { process.stdout.write(d) }) })

req.on(‘error’, (error) => { console.error(error) })

req.write(data) req.end()

免費下載我的Node.js手冊


更多節點教程: