Mar*_*ark 2 html javascript forms ajax
我有这段代码:
<form name="myUploadForm" method="post" action="/scripts/upload.do" enctype="multipart/form-data" id="fileUpload">
<table width="100%" border="0">
<tr>
<td>
<input type="file" name="xlsFile" size="60" value="test.xls">
<input type="button" value="Upload File" name="upload_xls">
</td>
</tr>
</table>
</form>
Run Code Online (Sandbox Code Playgroud)
现在我可以使用Struts上传文件,但它会刷新页面.如果没有页面刷新,我该怎么做?
什么对我有用:
在表单标记上,我有target ="hidden-iframe"
页面上隐藏的i-frame看起来像这样:
<iframe name="hidden-iframe" style="display: none;"></iframe>
Run Code Online (Sandbox Code Playgroud)
这里要强调的重要一点是表单引用了框架的name属性而不是id.
您可以使用 jQuery 发布表单并获取结果。
$('#formId' ).submit(
function( e ) {
$.ajax( {
url: '/upload',
type: 'POST',
data: new FormData( this ),
processData: false,
contentType: false,
success: function(result){
console.log(result);
//$("#div1").html(str);
}
} );
e.preventDefault();
}
);Run Code Online (Sandbox Code Playgroud)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form id="formId" action="/upload" enctype="multipart/form-data" method="post">
<input type="text" name="title"><br>
<input type="file" name="upload" multiple="multiple"><br>
<input type="submit" value="Upload">
</form>
<div id="div1">
</div>Run Code Online (Sandbox Code Playgroud)