如何使用 RTK 查询获取 XML 数据?
How can I fetch XML data with RTK Query?
我已经在 return JSON 的不同端点使用 RTK 查询,它们按预期工作。但是有一个端点是 returns XML。我可以在网络选项卡中看到 HTTP 响应是正确的,但是 RTK 查询的自动生成的钩子 returns data
as undefined
.
这是我的查询定义:
import { myApi } from './base';
export const excel = myApi.injectEndpoints({
endpoints: (builder) => ({
fetchExcelUserList: builder.query({
query: () => ({
url: 'excel/user_list',
method: 'GET',
headers: {
'Content-Type': 'application/xml; charset:utf-8',
},
}),
}),
}),
});
export const { useFetchExcelUserListQuery } = excel;
我就是这么用的:
const { data } = useFetchExcelQuery('');
console.log(data);
如果此解释不够,请查看描述相同问题的 this link。
非常感谢。
您的 data
是 undefined
,因为您的查询进入错误状态 - 默认情况下,所有内容都将被解析为 json。不过,您可以使用 fetchaseQuery
的 responseHandler
功能提供自定义解析函数。
我已经在 return JSON 的不同端点使用 RTK 查询,它们按预期工作。但是有一个端点是 returns XML。我可以在网络选项卡中看到 HTTP 响应是正确的,但是 RTK 查询的自动生成的钩子 returns data
as undefined
.
这是我的查询定义:
import { myApi } from './base';
export const excel = myApi.injectEndpoints({
endpoints: (builder) => ({
fetchExcelUserList: builder.query({
query: () => ({
url: 'excel/user_list',
method: 'GET',
headers: {
'Content-Type': 'application/xml; charset:utf-8',
},
}),
}),
}),
});
export const { useFetchExcelUserListQuery } = excel;
我就是这么用的:
const { data } = useFetchExcelQuery('');
console.log(data);
如果此解释不够,请查看描述相同问题的 this link。
非常感谢。
您的 data
是 undefined
,因为您的查询进入错误状态 - 默认情况下,所有内容都将被解析为 json。不过,您可以使用 fetchaseQuery
的 responseHandler
功能提供自定义解析函数。