问题: 通过Jquery封装的ajax请求进行文件上传操作时,后端已经返回上传文件成功,前端传参也没有问题,浏览器也没有任何报错,但总是进入error回调,头大!
造成原因:
1.a链接问题
如果a链接里面有href,href=“”会刷新页面,刷新页面之前会进入action,所以会调用ajax获得提交数据,但还没来得及返回,页面就会进行刷新操作,此时只要改成href=“#”,加一个click事件就ok。
2.dataType
如果执行ajax时指定dataType为json,首先要检查一下Jquery版本,只有小于1.3的版本可以执行success回调,之后的版本对json格式的要求很严格
"json": Evaluates the response as JSON and returns a JavaScript object.In jQuery 1.4 the JSON data is parsed in a strict manner; any malformedJSON is rejected and a parse error is thrown. (See json.org for more information on proper JSON formatting.)
JSON格式应满足以下要求:
键名称:双引号
字符串:双引号
数字,布尔类型:不需要双引号
目前为止只遇到过这两种,应该还有别的原因,欢迎追加