gpt4 book ai didi

javascript - 打开之前检查 window.open() 的内容?

转载 作者:太空宇宙 更新时间:2023-11-04 02:45:39 24 4
gpt4 key购买 nike

我有一个 API,它可以返回 Excel 文件以供下载,也可以返回字符串形式的错误消息。我正在尝试下载 Excel 文件或打印错误消息而不重定向到其他页面。

我正在尝试做:

let new_window = window.open("https://API/receivedoc?timestamp="+timestamp,"_self")

如何检查请求返回的是 Excel 文件然后下载它(当前有效)还是字符串?如果它是一个字符串,我想将其传递给局部变量并将其打印在网页上的 output div 中,例如:

filerootdiv.querySelector('.output').innerHTML = /**parse returned text here**/;

我不知道如何执行此操作,因为 window.open() 自动重定向到新页面,如果 API 返回字符串,它只会显示带有该字符串的白色页面。

编辑

使用 JSON 的方法是这样的:

xhr1.open("GET", "https://API/predict?timestamp="+timestamp)
try {
self.data = JSON.parse(xhr1.response);
filerootdiv.querySelector('.output').innerHTML = 'Complete!';
} catch(e){
console.log("not JSON");
filerootdiv.querySelector('.output').innerHTML = xhr1.response;
}

我正在尝试实现相同的错误功能,只不过 API 返回的不是 JSON,而是需要为用户下载的 Excel 文件,并且该文件不显示在网站上。

或者有没有办法让我发出 xhr 请求,使错误处理与上面的 JSON 相同,然后然后下载文件?那可能吗?怎么办?

最佳答案

您可以通过jquery.get查看下载之前先运行它。

$.get( "https://API/receivedoc?timestamp="+timestamp, function( data ) {
if (data != ""){
// Download file
}
});

关于javascript - 打开之前检查 window.open() 的内容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51193134/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com