使用 Axios 发送请求
发出 POST 请求的最简单方法 Axios 是 axios.post()
功能 。 第一个参数 axios.post()
是 URL,第二个是 HTTP 请求正文 。
const res = await axios.post('https://httpbin.org/post', { hello: 'world' });
res.data.json; // { hello: 'world' }
默认情况下,如果第二个参数 axios.post()
是一个对象,Axios 将对象序列化为 JSON 使用 JSON.stringify()
功能 。
如果第二个参数是一个对象,Axios 也会设置 content-type
头部,值为 application/json
,因此大多数 Web 框架,如 Express ,将能够自动将请求正文转换为 JavaScript 对象。
const res = await axios.post('https://httpbin.org/post', { hello: 'world' });
res.data.headers['Content-Type']; // application/json;charset=utf-8
覆盖 content-type
在 Axios 的 header 中 ,你应该使用第三个参数来 axios.post()
: options
是可选的。
设置 options.header['content-type']
选项来设置 content-type
标题。
const res = await axios.post('https://httpbin.org/post', { hello: 'world' }, {
headers: {
// 'application/json' is the modern content-type for JSON, but some
// older servers may use 'text/json'.
// See: http://bit.ly/text-json
'content-type': 'text/json'
}
});
res.data.headers['Content-Type']; // text/json
表单编码的请求正文
如果你传递一个字符串作为 body
参数为 axios.post()
,axios 会设置 content-type
标题到 application/x-www-form-urlencoded
。
这意味着请求正文应该是一堆键/值对,由 &
连接,格式就像:key1=value1&key2=value2
这样。
const res = await axios.post('https://httpbin.org/post', 'hello=world');
res.data.form; // { hello: 'world' }
res.data.headers['Content-Type']; // application/x-www-form-urlencoded
您还可以 使用 JavaScript 发送 FormData
类 来发布更复杂的数据,包括文件。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论