我正在使用这个答案来制作文件上传 AJAX 请求。
<!DOCTYPE html>
<html>
<head>
<script src="jquery-2.0.1.js"></script>
<script>
$(document).ready(function() {
$('#load').submit(false);
/* Attach a submit handler to the form */
$("#load").submit(function(event) {
/* Clear result div*/
$("#results").html('');
/* Get some values from elements on the page: */
var formData = new FormData($('#load')[0]);
$.ajax({
url: 'massUploadScript1.php', //Server script to process data
type: 'POST',
xhr: function() { // Custom XMLHttpRequest
var myXhr = $.ajaxSettings.xhr();
/*if(myXhr.upload){ // Check if upload property exists
myXhr.upload.addEventListener('progress',progressHandlingFunction, false); // For handling the progress of the upload
}*/
//Commented this out cuz I ain't got no hanlder function
return myXhr;
},
//Ajax events
success: function(input) {
$("#results").html(input);
},
error:function(jqXHR, textStatus, errorThrown) {
alert(jqXHR + textStatus + errorThrown);
$("#results").html('There is error while submit');
},
// Form data
data: formData,
//Options to tell jQuery not to process data or worry about content-type.
cache: false,
contentType: false,
processData: false
});
alert("fin submit event");
//return false;
});
alert("fin document ready");
});
</script>
</head>
<body>
<form id="load" action="massUploadScript1.php" method="POST" enctype="multipart/form-data">
<input type="file" name="file"><br>
<input type="submit" value="Send">
</form>
<br>
<div id="results"></div>
</body>
</html>
它在 Chrome 中按预期工作,但在 IE10 中它拒绝工作。通过调试一个li'l,似乎代码正确地进入了xhr函数,但之后似乎没有发送请求。未显示错误消息
顺便说一句,我想要做的是发送一个 Excel 文件并使用库 ExcelPHP 在 PHP 中处理它并吐回所需的行,但正如我所说的那样,该部分已经在 chrome 中工作。
如果可能的话,请提供一个不使用插件的答案,因为我想看看问题是什么。
谢谢你们,我真的很感谢这个网站的窥视!