【问题标题】:what is the json data format ie understands?ie 理解的 json 数据格式是什么?
【发布时间】:2013-06-14 14:14:29
【问题描述】:

我正在调用一个 php 脚本来使用 ajax 获取数据。它在 chrome 和其他浏览器上运行没有任何问题,但在 IE 上(当然)它不起作用。

我的数据格式如下:

[1234000000000,56]

这是我试图调用以获取 abobe 值的脚本:

$.ajax({

        url: 'get_cpu.php', 
        success: function(data) {
          var myObj = JSON.parse(data); 
                        alert(obj);

我尝试以多种不同的格式输出此文件以使 IE 开心,但没有任何运气。如何在 json 中格式化这些数据以便 ie 理解?我真的很感激任何见解?

最好的问候,

【问题讨论】:

  • 错误信息是什么? JSON 似乎有效。
  • 哪个版本的IE,你是如何解析JSON的?我认为 IE 8 没有内置的JSON.parse 方法。

标签: javascript internet-explorer


【解决方案1】:

旧版本的 IE 没有内置的 JSON 对象。因此,JSON.parse 不存在。它与您的 JSON 格式无关。

由于您使用的是 jQuery,因此您无需担心 JSON 解析;它会照顾它。在您的$.ajax 电话中,添加dataType: 'json'。这将使 jQuery 自动为您解析它。

$.ajax({
    url: 'get_cpu.php',
    dataType: 'json',
    success: function(data) {
        console.log(data);
    }
});

如果您不使用 jQuery,则必须使用 JSON 替换库,例如 json3.js

【讨论】:

  • @user1471980:什么未定义?我想查看 整个 字符串。例如:ReferenceError: xyz is not defined.
  • 当我在 chrome 中运行时,我得到这个:[1371206178000, 55],在 IE 中我得到这个:LOG:undefined
  • @user1471980:哦。对不起。这不是错误,只是日志的输出。这是您在我的答案中使用 exact 代码得到的结果吗(您确实删除了 JSON.parse 行,并添加了 dataType: 'json',对吗?
  • 我完全复制并粘贴了您的代码。正如您从 chrome 中看到的那样,它可以工作,但不能在 IE 中使用
  • 这是整个 ajax 部分:$.ajax({ url: 'get_cpu.php', dataType: 'json', success: function(data) { console.log(data); },缓存:假});
【解决方案2】:

请参考this pagewikipedia。那里的所有代码都可以在所有浏览器中运行。

【讨论】:

猜你喜欢
  • 2012-06-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-05-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多