$.ajaxFileUpload必须返回Map对象,返回String类型会接收出错,报错Error: Syntax error, unrecognized expression: {...}(示例代码
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了$.ajaxFileUpload必须返回Map对象,返回String类型会接收出错,报错Error: Syntax error, unrecognized expression: {...}(示例代码相关的知识,希望对你有一定的参考价值。
<input type="file" name="file1" id="file1" onchange="uploadImg(‘file1‘,‘hidden1‘)">
<input type="hidden" id="hidden1" />
异步上传文件方法
function uploadImg(fileid,hiddenid) {
$.ajaxFileUpload
(
{
url: ‘/xxx/xxx‘,
secureuri: false,
fileElementId: fileid,
dataType: ‘json‘,
success: function (data, status)
{ //data的内容都是在后台php代码中自定义的,json格式返回后在这里以对象的方式的访问
if(typeof (data.errMsg) != ‘undefined‘){//上传文件出错
alert(data.errMsg);
}else{
alert(‘ok‘);
// $("#"+imgid).attr("src",data.path).addClass("load1");//加载返回的图片路径并附加上样式
$("#"+hiddenid).val(data.path); //给对应的隐藏域赋值,以便提交时给后台
}
},
error: function (data, status, e)
{
console.log(data);
}
}
)
}
@RequestMapping(/xxx/xxx)
@ResponseBody
public Map<String, Object> uploadFile(MultipartHttpServletRequest request) {
Map<String, Object> map = new HashMap<String, Object>();
Iterator<String> names = request.getFileNames();
MultipartFile file = request.getFile(names.next());
....
// 保存文件
}
}
以上是关于$.ajaxFileUpload必须返回Map对象,返回String类型会接收出错,报错Error: Syntax error, unrecognized expression: {...}(示例代码的主要内容,如果未能解决你的问题,请参考以下文章
AjaxFileUpload SyntaxError:XML 表达式中缺少
解决ajaxfileupload上传文件在IE浏览器返回data为空问题
jQuery插件ajaxfileupload.js源码与使用
使用ajaxFileUpload这个控件上传文件,返回json数据出错?