我正在使用 ajaxform 将图像上传到 s3。图像正在上传到 s3,但我无法从 S3 服务器获得响应。我需要响应来通知用户上传完成。据我说,ajax 表单 jquery 插件工作正常,因为如果我用另一个表单替换这个表单,其中操作 url 与应用程序的服务器相同,而不是 s3,它会成功(但我不能这样做如果我必须将图像上传到 s3)。我尝试过除了成功之外的事件,比如完成、错误、失败等。但它无处可去。这是代码的相关部分:
<script>
function submitMyForm(){
$("#myForm").ajaxForm({
success : function(result){
alert(result);
}
}).submit();
}
</script>
<form id="myForm" action="https://my-bucket-name.s3.amazonaws.com/" method="post" enctype="multipart/form-data">
<input type="hidden" name="key" value="${filename}">
<input type="hidden" name="AWSAccessKeyId" value="my-access-key-id">
<input type="hidden" name="acl" value="private">
<input type="hidden" name="success_action_redirect" value="">
<input type="hidden" name="policy" value="my_policy">
<input type="hidden" name="signature" value="my_signature">
<input type="hidden" name="Content-Type" value="image/jpeg">
File to upload to S3:
<input name="file" type="file">
</form>
<button onclick="submitMyForm()">Submit</button>
在控制台中我得到这个:[jquery.form] state = complete。我可以以某种方式使用它来捕获 ajax 表单的回调。我现在太困惑了。请帮忙。