Javascript 从CORS请求捕获异步异常
我允许用户通过ajax调用从web服务器向他们授予签名URL,从而将文件上传到AmazonS3存储桶 每隔一段时间,请求就会失控,给我一个403(至于为什么我不知道)。我在xhr请求中使用了try-catch块,但是没有捕获到这个异常 看起来像这样 …JKQ6DXF43A&Expires=1385394844&Signature=/OKomeLHinfcDvm30O/9b+9edkw= 403(禁止) bucket.s3.amazonaws.com/hB22C1m9KQ6DXF4TuK4htm?AWSAccessKeyId=AK…Q62CNKF3PC3QLA&Expires=1385394844&Signature=/okomelhkplfcddvm30o/9b+9edkw=:1 所以有两个问题Javascript 从CORS请求捕获异步异常,javascript,exception,amazon-s3,cors,Javascript,Exception,Amazon S3,Cors,我允许用户通过ajax调用从web服务器向他们授予签名URL,从而将文件上传到AmazonS3存储桶 每隔一段时间,请求就会失控,给我一个403(至于为什么我不知道)。我在xhr请求中使用了try-catch块,但是没有捕获到这个异常 看起来像这样 …JKQ6DXF43A&Expires=1385394844&Signature=/OKomeLHinfcDvm30O/9b+9edkw= 403(禁止) bucket.s3.amazonaws.com/hB22C1m9KQ6DXF4TuK4htm?
- 是否可以从CORS请求捕获异步异常
- 为什么我会被禁止?(我唯一能想到的是URL是否过期,但我有一个很长的超时时间,并且它在通过AJAX从服务器接收到它时就被使用了)
onError
处理程序将启动。关于错误发生的原因,您将没有任何有用的信息,但您将知道存在错误。有关详细信息,请参见以下问题:
至于你为什么会犯一个被禁止的错误,这是很难知道的。您可以评估URL是否过期,特别是如果请求的时间比预期的长。可以通过检查onreadystatechange事件捕获通过xhr发送的CORS请求的异步异常
xhr.onreadystatechange = ƒ(e) {
if (this.readyState === 4 && this.status === 200) {
try {
console.log('good');
}
catch (error) {
alert("There has been an error");
console.log(error);
return false;
}
callback();
}
else if (this.readyState === 4 && this.status !== 200) {
console.log('There has been an error');
}
};