目录
响应结构
一个请求的响应包含以下信息。
{
// `data` 由服务器提供的响应
data: {},
// `status` 来自服务器响应的 HTTP 状态码
status: 200,
// `statusText` 来自服务器响应的 HTTP 状态信息
statusText: 'OK',
// `headers` 是服务器响应头
// 所有的 header 名称都是小写,而且可以使用方括号语法访问
// 例如: `response.headers['content-type']`
headers: {},
// `config` 是 `axios` 请求的配置信息
config: {},
// `request` 是生成此响应的请求
// 在node.js中它是最后一个ClientRequest实例 (in redirects),
// 在浏览器中则是 XMLHttpRequest 实例
request: {}
}
当使用 then
时,我们将接收如下响应:
axios.get('/user/1')
.then(function (response) {
console.log(response.data);
console.log(response.status);
console.log(response.statusText);
console.log(response.headers);
console.log(response.config);
})
当使用 catch
,或者传递一个rejection callback作为 then
的第二个参数时,响应可以通过 error
对象被使用。
Axios 实例
当我们从axios模块中导入对象时,使用的实例是默认的实例。
当给该实例设置一些默认配置时,这些配置就被固定下来了。
但是后续开发中, 某些配置可能会不太一样。比如某些请求需要使用特定的 baseURL
或者 timeout
或者 content-Type
等。这个时候,我们就可以创建新的实例,并且传入属于该实例的配置信息。
const instance = axios.create({
baseURL: 'https://192.168.0.4/api/',
timeout: 1000,
headers: {'Content-Type': 'application/x-www-form-urlencoded'}
})