前台用的easyui后台nutz,使用easyui的form的submit方法,可以正常提交并返回。但是在某些浏览器中success方法未截获返回的js,而是提示下载文件,为毛会这样?问题来了,有没有体验较好的文件上传前端的解决方案?
@At("/grade/score/people/import/xls")
@AdaptBy(type = UploadAdaptor.class,args = { "${app.root}/WEB-INF/uploadTemp", "8192", "UTF-8", "10" })
@Ok('json')
public ResultMsg scorePeopleImport(@Param("fileToUpload") TempFile tf,
@Param("year")int year,@Param("quarter")int quarter,@Param("oid")int oid,
HttpSession sess){
// ... ...业务逻辑
}
以下为前端js
$('#frmUpload').form({
url: '${base}/grade/score/people/import/xls',
onSubmit: function(){
// 禁用
$('#btn-upload').linkbutton('disable');
},
success: function(result){
// 启用
$('#btn-upload').linkbutton('enable');
var result = eval('('+result+')'); // 把json字符串转换为对象
if (result.success){
$.messager.alert('成功',"上传成功");
var para = $("#frmUpload").serializeArray();
var p = {};
for(var i=0;i<para.length;i++){
p[para[i].name] =para[i].value;
}
$('#dg').datagrid('load',p);
} else {
$.messager.alert('出错了',result.errorMsg,'error');
}
}
});