我有一个html页面,我使用表单输入上传文件。 我的代码是
<form action = "UploadFile.jsp" method = "post" target="my-iframe"
enctype = "multipart/form-data">
<input type = "file" name = "file" size = "50" />
<br />
<input type = "submit" value = "Upload File" />
</form>
<iframe name="my-iframe" src="UploadFile.jsp" style="display:none;"></iframe>
现在这个表单很好,没有任何页面刷新。但是,我需要知道是否有任何其他可能的文件上传方法,而不使用没有页面刷新的iframe。 有没有任何方法可以使用ajax请求和javascript执行此操作?
答案 0 :(得分:0)
function imgUpload(file){
var uploadRequest = new XMLHttpRequest();
uploadRequest.open('post', 'demo-url');
uploadRequest.file = file;
uploadRequest.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
document.getElementById("demo").innerHTML =
this.responseText;
//or
document.getElementById("demo").innerHTML =
"Response code is 200 i.e successful image upload";
}
};
uploadRequest.send();
}
我将尽可能简单地解释这一点,首先要做的是调用XMLHttpRequest函数,它的作用是在不改变网页状态的情况下发出请求,现在从顶部我们已经传递了文件由于XMLHttpRequest的强大功能,我们将在onreadystatechange的帮助下捕获响应,如果好(200)或坏(404) ;)所以我们可以同时使用Jquery在浏览器的同一页面上通知。然而,我会建议你阅读一些关于这个的丰富教程,无论是youtube还是其他一些网站,stackoverflow将简单地帮助你在完成教程后分享更多的光。