gpt4 book ai didi

javascript - XHR onProgress 完成

转载 作者:行者123 更新时间:2023-11-30 18:05:57 42 4
gpt4 key购买 nike

我正在尝试使用 ajax 实现带有上传百分比的标签。问题是xhr返回100%后,到readyState==4和status==200还需要17秒左右。

我正在使用 FormData() 对象发送图片 (png/jpg) 和字符串

<form onclick='send(this)'....

函数是:

function send(form){ var f = new FormData(form).......

我正在使用以下代码进行上传

if(xhr.upload) {
xhr.upload.onprogress = function(e) {
if (e.lengthComputable) {
var perc = Math.round((e.loaded/e.total) * 100);
var state = {
'done': e.loaded,
'total': e.total,
'percent': perc
};
progress(state);
}
};
}

最佳答案

这很可能是您的服务器问题,而不是您的客户端代码问题。只有在服务器返回对基础请求的响应后,您的 onreadystatechange 处理程序才会被调用,并且 readyState 值为 4。传递给 onprogress 处理程序的加载/总值表示已发送到服务器的字节数。如果 total === loaded,这并不一定表示服务器已返回响应。服务器可能会在收到最后一个字节后执行一些处理,然后返回响应(触发您的 onreadstatechange 处理程序)。如果您注意到在发送最后一个字节和调用您的 onreadystatechange 处理程序之间有很长一段时间,这表明您的服务器无论出于何种原因正在花时间响应请求。

关于javascript - XHR onProgress 完成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15800231/

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