昨天在做一个头像上传的功能,要求选择完成图片以后立刻完成上传功能并且在页面上显示,需要用到异步上传,就是用了ajaxSubmit()进行表单的上传操作,但是不管怎么弄前台都接收不到后端发来的json数据,设置dataType为text倒是能接收到,郁闷了好长时间。
一开始我的json数据是这样的:
"{fileName:picture.jpg}"
后来我认为是自己的json格式有问题,就改成了这样:
"{fileName:\"picture.jpg\"}"
还不行,就改成这样:
"{\"fileName\":\"picture.jpg\"}"
果然,是json的问题,自己蠢了。然而人要有刨根问底的精神,在博客上搜了一下,果然有人也遇到过这样的问题,而由于这样的不严谨的json格式产生BUG的历史是这样的:
“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 malformed JSON is rejected and a parse error is thrown. (See json.org for more information on proper JSON formatting.)
标准的json格式如下
1)键名称:用双引号 括起
2)字符串:用使用双引号 括起
3)数字,布尔类型不需要 使用双引号 括起
想知道详细戳这里:json在线API