做这个功能的时候遇到了一个特别奇怪的问题,因为之前做过文件上传,就觉得与其差不多。但是虽然后面图片上传成功了,但一直报这样的一个错:,
这句错误的意思就是:son解析异常,所以请大家直接去关注自己json的返回数据注意检查其返回内容和内容的格式是否正确。
后面经过排查是因为浏览器不兼容的问题:谷歌浏览器返回的信息:
<pre>{"errorMsg":"标题不能为空","result":false}</pre>
>{"errorMsg":"标题不能为空","result":false
s:4,d:40
火狐浏览器:<pre style="word-wrap: break-word; white-space: pre-wrap;">{"errorMsg":"标题不能为空","result":false}</pre>
>{"errorMsg":"标题不能为空","result":false
s:58,d:94
这样问题很明了了,由于返回的数据都有标签,自然识别不了数据,因此解决的方法为:
截取或是对前台传过去的参数进行编码:
title = encodeURI(encodeURI(title));
img_index = encodeURI(encodeURI(img_index));
后台进行解码:
title = URLDecoder.decode(title, "UTF-8");
img_index = URLDecoder.decode(img_index, "UTF-8");
便能完美解决问题,最重要就是json数据格式不对,这是它出现的根本问题所在。