$.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数据出错?

ajaxFileUpload上传文件成功后却无法解析服务器返回的json数据

为啥返回带有箭头函数的对象时,array.map 中需要 return 关键字?