最近在使用 Ajax 获取数据时,遇到了一个问题:无法获取到 JSON 格式数据并进行格式化。在不少网站上,JSON 数据都是使用 Ajax 进行获取并呈现,但是我却碰到了麻烦。
我首先写了如下的 jQuery 代码:
$.ajax({ url: 'data.json',dataType: 'json',success: function(data) { console.log(JSON.stringify(data)); $('body').append('' + JSON.stringify(data,null,2) + ''); },error: function(jqXHR,textStatus,errorThrown) { console.log(jqXHR); console.log(textStatus); console.log(errorThrown); } });
然后我运行了这段代码,控制台显示数据成功获取。但是在网页上并没有显示 JSON 格式化后的数据。于是我检查了一下 HTML 的代码,发现 JSON 数据仍然以字符串形式显示在网页上。
我想到可能是数据格式的问题,于是在控制台打印出获取到的数据。结果显示数据已经是 JSON 格式的了,而且也符合要求。我尝试使用 JSON.stringify
函数将数据再次转化为字符串,结果显示数据并没有问题。
我还尝试了在 $.ajax
函数中设置 contentType: 'application/json; charset=utf-8'
,但是问题依然存在。
最后,我找到了解决方法:使用 jQuery 的 $.get
方法获取数据,然后在 success
中进行 JSON 格式化。
$.get('data.json',function(data) { console.log(data); $('body').append('' + JSON.stringify(data,2) + ''); },'json')
这样就可以成功获取并格式化 JSON 数据了。
总结起来,获取 JSON 数据之后应该要转化为对象再进行操作,同时也要注意设置请求头和处理函数。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。