微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

ajax 无法获取json数据格式化

最近在使用 Ajax 获取数据时,遇到了一个问题:无法获取到 JSON 格式数据并进行格式化。在不少网站上,JSON 数据都是使用 Ajax 进行获取并呈现,但是我却碰到了麻烦。

ajax 无法获取json数据格式化

我首先写了如下的 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] 举报,一经查实,本站将立刻删除。

相关推荐