electron net 如何发送 post 请求
用 electron
的 net
发送 post
请求时, 我不确定的是发送方式该如何设置,查了半天,也试了半天,总结出来了
一、请求方式
// 引入 net
const { net } = require('electron')
let userInfo = {
email: kylebing@163.com,
password: '1234'
}
// 1. 新建 net.request 请求
const request = net.request({
headers: {
'Content-Type': 'application/json',
},
method: 'POST',
url: 'http://localhost:3000/user/login'
})
// 2. 通过 request.write() 方法,发送的 post 请求数据需要先进行序列化,变成纯文本的形式
request.write(JSON.stringify(userInfo))
// 3. 处理返回结果
request.on('response', response => {
response.on('data', res => {
// res 是 Buffer 数据
// 通过 toString() 可以转为 String
// 详见: https://blog.csdn.net/KimBing/article/details/124299412
let data = JSON.parse(res.toString())
})
response.on('end', () => {})
})
// 4. 记得关闭请求
request.end()
服务器接收的数据是这样的,以 nodejs 的 express 为例,处于 req.body
中
二、或者,可以直接使用 axios
axios 进行 get 和 put 请求都正常,但 post 怎么都不正常,疯了,最终 post 请求还是用上面的方法。
三、例子
https://github.com/KyleBing/wubi-dict-editor/blob/master/main.js#L500