Typescript Http 请求发送表单数据
Typescript Http request send form data
我想发送表单数据。但是请求没有 body 属性。
如何使用请求发送表单数据?
import { request } from 'http';
const form = new FormData();
form.append('file', FILE);
const req = request(
{
host : HOST,
port : '80',
method : 'POST',
path : PATH,
headers : form.getHeaders(),
},
response => {
}
);
老实说,node 中的 http 库真的很低级,使用起来不是很友好。我会考虑查看类似 axios 的内容,因为它对开发人员更友好。
如果您打算使用 http,那么 official docs are useful, in particular for you request.write 就是您正在寻找的方法。
来自 nodejs 的相同文档为 post 提供了 worked examples 和 axios:
const axios = require('axios')
axios
.post('https://whatever.com/todos', {
todo: 'Buy the milk'
})
.then(res => {
console.log(`statusCode: ${res.status}`)
console.log(res)
})
.catch(error => {
console.error(error)
})
或 http:
const https = require('https')
const data = JSON.stringify({
todo: 'Buy the milk'
})
const options = {
hostname: 'whatever.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: ${res.statusCode}`)
res.on('data', d => {
process.stdout.write(d)
})
})
req.on('error', error => {
console.error(error)
})
req.write(data)
req.end()
我想发送表单数据。但是请求没有 body 属性。 如何使用请求发送表单数据?
import { request } from 'http';
const form = new FormData();
form.append('file', FILE);
const req = request(
{
host : HOST,
port : '80',
method : 'POST',
path : PATH,
headers : form.getHeaders(),
},
response => {
}
);
老实说,node 中的 http 库真的很低级,使用起来不是很友好。我会考虑查看类似 axios 的内容,因为它对开发人员更友好。
如果您打算使用 http,那么 official docs are useful, in particular for you request.write 就是您正在寻找的方法。
来自 nodejs 的相同文档为 post 提供了 worked examples 和 axios:
const axios = require('axios')
axios
.post('https://whatever.com/todos', {
todo: 'Buy the milk'
})
.then(res => {
console.log(`statusCode: ${res.status}`)
console.log(res)
})
.catch(error => {
console.error(error)
})
或 http:
const https = require('https')
const data = JSON.stringify({
todo: 'Buy the milk'
})
const options = {
hostname: 'whatever.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: ${res.statusCode}`)
res.on('data', d => {
process.stdout.write(d)
})
})
req.on('error', error => {
console.error(error)
})
req.write(data)
req.end()