在一起,有多少标签太多了?
jquery - 当我用 await 调用 JQuery ajax 时如何获取 jqXHR 对象?
问题描述
我进行了一个 jquery ajax 调用,并在等待完成后获取异步结果:
async () => {
const result = await $.ajax (url);
console.log (result);
}
但结果我只有响应的内容,我想从 jqXHR 对象中获取标题和状态码等。我怎么得到这个?
为了回答 Rituls 的问题,我想写一些类似的东西:
const result = await $.ajax(url);
const content = result[0];
const jqxhr = result[1];
console.log ('content:', content, 'status:', jqxhr.status);
编辑:
我尝试了以下解决方法并得到了一个奇怪的行为(代码是打字稿):
const result = await ajax (gondorHeaderUrl);
console.log ('ajax result:', result);
console.log ('typeof ajax result:', typeof result);
function ajax (url: string, settings?: JQuery.AjaxSettings): Promise<JQuery.jqXHR> {
return new Promise (((resolve, reject) => {
$.ajax (url, settings)
.then ((data, textStatus, jqXHR) => {
console.log ( 'jqXHR:', jqXHR);
console.log ( 'typeof jqXHR:', typeof jqXHR);
resolve (jqXHR);
},
(jqXHR, textStatus, errorThrown) => reject (jqXHR)
);
}));
}
安慰:
jqXHR: Object { readyState: 4...................
typeof jqXHR: object
ajax result: <!DOCTYPE html PUBLIC ...............
typeof ajax result: string
为什么结果与 jqxhr 不同?当我将它包装到一个对象中时,它可以工作:
resolve ({j:jqxhr});
解决方案
推荐阅读
- reactjs - 如何将 useMemo 与外部 API 一起使用?
- postgresql - Postgres 不知道在哪里可以找到服务器配置文件。在“brew install postgresql”之后
- kubernetes-ingress - 基于路径的路由无法与 Kubernetes 中的 Traefik Ingress 正确匹配
- reactjs - 您可以在渲染之前从 websocket 中对图像进行下采样吗
- javascript - 单选按钮显示为当前值
- tailwind-css - 如何将 Tailwind CSS 结果导出到 CSS 文件?
- git - git LFS 不允许我上传我跟踪的文件
- html - 为什么狭窄的视口会在我的网格容器的左侧剪辑,在 Chrome
- python-3.x - 如何执行函数以等待该函数具有来自 filechooser.open_file() 的路径?
- html - 何时使用
和