我正在尝试使用jQuery Form Plugin来实现“ajax like”文件上传,并且它在Chrome中正常运行,但我在Firefox中遇到了一个奇怪的错误。
这是我的代码:
HTML:
<form action="upload.php" action="POST" id="upload" enctype="multipart/form-data">
<input type="file" name="file">
<input type="submit" value="Upload">
</form>
JS:
$('#upload').ajaxForm({
beforeSubmit: ShowRequest,
success: SubmitSuccesful,
error: AjaxError
});
function ShowRequest(formData, jqForm, options) {
var queryString = $.param(formData);
alert('BeforeSend method: \n\nAbout to submit: \n\n' + queryString);
return true;
}
function AjaxError() {
alert("An AJAX error occured.");
}
function SubmitSuccesful(responseText, statusText) {
//alert("SuccesMethod:\n\n" + responseText);
$('#output').html('<img src="'+responseText+'">');
}
正如预期的那样,在选择文件并单击上传后,在Chrome中,文件会上传然后显示,而不会重新加载页面 - 但在Firefox中,是upload.php脚本(实际上传图像并返回路径的脚本) )以完整的php下载到我的本地机器。
任何想法都会受到赞赏,欢呼!
答案 0 :(得分:0)
您是否检查了请求和响应标头中的mime-types?你可以通过在firefox中打开firebug来做到这一点。您可以在“网络”标签中看到请求和响应标题。