我正在尝试使用以下实现将文件发布到外部服务:
JS:
$("#formFile").ajaxForm({
beforeSubmit: prepareRequest,
success: showResponse,
error: showErr
});
function prepareRequest(formData, jqForm, options) {
console.log(formData);
}
function showResponse(responseText, statusText, xhr, $form) {
console.log(responseText);
}
function showErr(data, a, c) {
console.log(data);
console.log(a);
console.log(c);
}
HTML:
<form action="/destiny" method="post" enctype="multipart/form-data" id="formFile">
<input type="file" name="file"/>
<input type="submit" value="submit">
</form>
我在IE9中遇到问题。由于jquery表单插件使用iFrame方法在旧浏览器中上传文件,当浏览器获得服务器的响应时,我得到一个“下载文件”提示,并且不会触发“成功”或“错误”回调。
我无法控制服务器的响应,因此我无法强制将内容类型text/html
强制为the documentation suggests