Excel 对于 Mac JS 加载项 HTTP 请求超时
Excel for Mac JS Add-in HTTP Request Timeout
我正在开发 Excel js 加载项。该加载项使用 ajax 有多个剩余 api 调用。特别是一个人可能需要一些时间才能做出回应(在这种情况下超过 10 分钟)。它在 Excel 在线正常工作 - 收到并显示响应。 Excel for Mac 似乎有超时(或其他)影响 1 分钟后的请求。它返回状态代码 0,我们的服务器抛出 499(客户端取消请求)。
Office 是否有 Mac 超时,如果有,有没有办法改变它?向 ajax 请求添加超时字段无效。
我认为这是与 相同的问题。 Office 使用的 WebKit 控件有 60 秒的默认超时。我们无法覆盖默认超时。我尝试了以下适用于 10 分钟请求的代码:
var xhr = new XMLHttpRequest();
var startDate = new Date();
xhr.open('POST', url, true);
xhr.timeout = 800000; // time in milliseconds
xhr.onload = function () {
console.log((new Date() - startDate) + " milliseconds to return.");
};
xhr.ontimeout = function (e) {
console.error("error");
};
xhr.send("data");
请注意,有一个 WebKit 回归现在已修复,它破坏了超时设置 属性。您将需要最新版本的 Safari。此外,jQuery 超时 属性 没有工作,因为它们实际上没有设置 WebKit 监听的本机 XMLHttpRequest::timeout 属性。如果您使用第三方库发出请求,请确保它正确设置了 XMLHttpRequest 超时。
我正在开发 Excel js 加载项。该加载项使用 ajax 有多个剩余 api 调用。特别是一个人可能需要一些时间才能做出回应(在这种情况下超过 10 分钟)。它在 Excel 在线正常工作 - 收到并显示响应。 Excel for Mac 似乎有超时(或其他)影响 1 分钟后的请求。它返回状态代码 0,我们的服务器抛出 499(客户端取消请求)。
Office 是否有 Mac 超时,如果有,有没有办法改变它?向 ajax 请求添加超时字段无效。
我认为这是与 相同的问题。 Office 使用的 WebKit 控件有 60 秒的默认超时。我们无法覆盖默认超时。我尝试了以下适用于 10 分钟请求的代码:
var xhr = new XMLHttpRequest();
var startDate = new Date();
xhr.open('POST', url, true);
xhr.timeout = 800000; // time in milliseconds
xhr.onload = function () {
console.log((new Date() - startDate) + " milliseconds to return.");
};
xhr.ontimeout = function (e) {
console.error("error");
};
xhr.send("data");
请注意,有一个 WebKit 回归现在已修复,它破坏了超时设置 属性。您将需要最新版本的 Safari。此外,jQuery 超时 属性 没有工作,因为它们实际上没有设置 WebKit 监听的本机 XMLHttpRequest::timeout 属性。如果您使用第三方库发出请求,请确保它正确设置了 XMLHttpRequest 超时。