为什么获取的 json 文件不需要解析就能使用?

图片说明
在 success 函数中加入 var r = JSON.parse(data); 就会出现错误

7个回答

你这个借口支持jsonp,返回的数据已经是json对象了,不需要JSON.parse了。

jsonp实际就是js代码,执行你的回调的时候返回的参数就是json对象
https://en.wikipedia.org/w/api.php?action=query&titles=Main%20Page&prop=revisions&rvprop=content&format=json&callback=abc

A1656187948
CaveShao 回复showbo: 原来是这样,万分感谢!看书的时候理解有些误差,终于明白了。
接近 3 年之前 回复
showbo
支付宝加好友偷能量挖 你JSON.parse传递json对象会报错,因为会调用json对象默认的toString方法得到[object Object],你parse这个肯定出错了
接近 3 年之前 回复

看返回的具体内容,并不是每一个请求都是返回json的。返回的是json 你才能这样写。

先要确认返回的究竟是什么,最好通知console。log()将返回的data打印出来看看。https://segmentfault.com/q/1010000006800687?_ea=1134370

jquery ajax里的dataType就是声明数据格式,你填的jsonp,肯定是json格式了。

你可以手动先判断下格式,如果不是json格式,则转化为json格式再做处理,如果是则直接处理就行了。

返回的格式已经声明了dataType

其实你可以用alert(data),把data的数据显示一下,看看你获取的data.batchcomplete是不是这样取

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问