Axios将ResponseType
定义为
export type ResponseType =
| 'arraybuffer'
| 'blob'
| 'document'
| 'json'
| 'text'
| 'stream'
我正在尝试将配置传递给axios.post
const config = {
headers: {
'X-Requested-With': 'XMLHttpRequest',
'Content-Type': 'application/x-www-form-urlencoded',
'Host': HOST_HEADER,
},
responseType: 'json'
}
const data_to_post = { .... omitted ... }
return axios.post(HOST, data_to_post, config)
问题:打字机皮棉机警告我说不能将类型字符串分配给ResponseType类型。
也尝试过:我当然不能使用语法
responseType: ResponseType.json
我该如何解决?
答案 0 :(得分:2)
问题在于Typescript会推断config
为类型
{
headers: {
'X-Requested-With': string;
'Content-Type': string;
'Host-Header': string;
};
responseType: string;
}
Typescript不知道您正在尝试为Axios创建配置对象。您可以将整个对象显式键入为AxiosRequestConfig
,也可以显式键入responseType: 'json'
的类型为ResponseType
。
const config: AxiosRequestConfig = {
headers: {
'X-Requested-With': 'XMLHttpRequest',
'Content-Type': 'application/x-www-form-urlencoded',
'Host-Header': 'dsa',
},
responseType: 'json'
};
答案 1 :(得分:0)
使用显式投射固定
responseType: <ResponseType> 'json'