jQuery.form.js 使用ajaxForm、ajaxSubmit提交表单上传文件后服务器端返回json数据IE浏览器无法解析。
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jQuery.form.js 使用ajaxForm、ajaxSubmit提交表单上传文件后服务器端返回json数据IE浏览器无法解析。相关的知识,希望对你有一定的参考价值。
使用struts2,使用ajaxSubmit对于图片上传的处理,在火狐中是好的,可是在IE中会提示“Internet Explorer已经组织从此站点下载文件到您的计算机”需要我单击下载。返回的是一个JSON对象。
var option =
url : "photooperate_add",
type: "post",
success : function(data)
loadData(albumpk);
exit_upload();
tell(data.message);
;
$("#form_upload").ajaxSubmit(option);
这是我配置的,在Struts.xml中配置是正确的,因为火狐是绝对可以的,但在IE就提示要下载,头大。请高人来显神通,有没有比较好的办法,能够简便解决该问题。
如果您的回答解决了我的问题,我再给您追加30分。
简单点的方法就在注册表中添加关于JSON的MIME类型支持。
=======================================
jquery.form.js提交 input file中的文件
现今的主流浏览器由于ajax提交form表单无法把文件类型数据提交到后台,供后台处理,可是开发中由于某些原因又不得不用ajax提交文件,解决方案:
下面说说 jquery.form.min.js 插件,它是一款优秀的Ajax表单插件,我们可以非常容易的使用它处理表单控件的值,清空和复位表单控件,附件上传,以及完成Ajax表单提交。jquery.form.min.js 有两个核心方法ajaxForm()和ajaxSubmit(),下面以实例来简单说明其提交file文件方式:
<!-- Modal:更新授权 --> <div class="modal fade" id="update-authorization-modal" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel" aria-hidden="true"> <div class="modal-dialog" role="document"> <div class="modal-content"> <div class="modal-header"> <button type="button" class="close" data-dismiss="modal" aria-hidden="true"> × </button> <h4 class="modal-title"> 更新授权 </h4> </div> <form id="update-authorization-modal-form" class="form-horizontal" action=""> <div class="modal-body"> <div class="form-group row"> <label class="col-sm-3 col-md-3 col-lg-3 col-xl-3 control-label font-normal align-right">授权文件:</label> <div class="col-sm-7 col-md-7 col-lg-7 col-xl-7"> <div class="file-input-container"> <input type="file" class="form-control file-input" id="update-authorization-modal-file" name="updateAuthorizationModalFile" /> </div> </div> </div> </div> <div class="modal-footer"> <button type="button" class="btn btn-default" data-dismiss="modal">关闭</button> <button type="submit" class="btn btn-success">发送</button> </div> </form> </div> </div> </div>
<script src="./static/libs/jquery-form/jquery.form-3.45.0.js"></script>
$(‘#update-authorization-modal-form‘).bootstrapValidator({ message: ‘This value is not valid‘, feedbackIcons: { valid: ‘glyphicon glyphicon-ok‘, invalid: ‘glyphicon glyphicon-remove‘, validating: ‘glyphicon glyphicon-refresh‘ }, excluded: [":disabled"], fields: { updateAuthorizationModalFile: { message: ‘授权文件无效‘, trigger: "change", validators: { notEmpty: { message: ‘授权文件不能为空‘ }, file: { extension: ‘war,rar,tar,zip,gz,bz2,deb‘, mimeTypes: ‘.war,.rar,.tar,.zip,.gz,.bz2,.deb‘, message: ‘文件类型为.war、.rar、.tar、.zip、.gz、.bz2、.deb‘ } } } } }).on(‘success.form.bv‘, function (e) { e.preventDefault(); var options = { url: ‘/bmpf/softmng/software/add_software_package/‘, success: showResponse, dataType: "json" }; function showResponse(response, status) { if (response.ret) { toastr.success("更新授权成功", "成功提示"); $(‘#update-authorization-modal-form‘)[0].reset(); $(‘#update-authorization-modal-form‘).data("bootstrapValidator").resetForm(); setTimeout(function () { $("#update-authorization-modal").modal("hide"); }, 1000); //$softTable.bootstrapTable("refresh"); } else { toastr.error(response.errMsg, "错误提示"); $(‘#update-authorization-modal-form‘).bootstrapValidator(‘disableSubmitButtons‘, false); } } $(‘#update-authorization-modal-form‘).ajaxForm(options); });
以上是关于jQuery.form.js 使用ajaxForm、ajaxSubmit提交表单上传文件后服务器端返回json数据IE浏览器无法解析。的主要内容,如果未能解决你的问题,请参考以下文章
jQuery.form.js 使用ajaxForm、ajaxSubmit提交表单上传文件后服务器端返回json数据IE浏览器无法解析。
jQuery插件 -- Form表单插件jquery.form.js