问题原因:

昨天遇到了一个问题。就是用ajax从后台查询数据时,返回信息无法显示,经过提示发现是IE控制台提示: JSON is not defined 错误。

而且这个问题在本人自己的电脑上是不存在的。利用IE的提示工具调试发现:当浏览器模式为 IE8及以上版本时不会出现此问题。但经过联系客户发现其使用的IE版本也是8。

当时感觉很奇怪。但后来发现客户的 IE8 使用了兼容模式,导致了IE使用较低版本的内核解析网页,引发了此问题。

解决方案:

解决此问题的方法比较简单,并且有多种方式。比如使用 eval() 函数。

但是,比较推荐的是引入jquery,使用$.parseJSON()方法来解析。

或者引入 json2.js 来解决。

json2.js 的GitHub地址:    https://github.com/douglascrockford/JSON-js

json2会在window下定义JSON对象,并且除了原生JSON对象提供的parse,stringify 函数外,还提供了更加丰富的功能。

详见json2的说明文档。

IE8 JSON is not defined的更多相关文章

  1. Caused by: The Result type [json] which is defined in the Result annotation on the class

    1.错误描述 严重: Dispatcher initialization failed Unable to load configuration. - [unknown location] at co ...

  2. json兼容ie8

    今天遇到一个问题,后台传递过来的json对象,在前端解析的时候用JSON.parse(result)方法不好使,查了一下是因为ie浏览器的问题.然后在网上翻了翻,找到了这个办法,可以使这个函数在ie中 ...

  3. python之信用卡ATM(第五天)

    本节作业 作业需求: 模拟实现一个ATM + 购物商城程序 额度 15000或自定义 实现购物商城,买东西加入 购物车,调用信用卡接口结账 可以提现,手续费5% 每月22号出账单,每月10号为还款日, ...

  4. (转)You might not need jQuery

    You might not need jQuery You certainly can support IE 9 and below without jQuery, but we don't. Ple ...

  5. javascript自执行函数为什么要把windows作为参数传进去

    http://segmentfault.com/q/1010000000311686 (function (window, $, undefined) { play=function(){ $(&qu ...

  6. js常用方法:

    1.将 "\/Date(1313572554031)\/" 转化为 “yyyy-MM-dd hh:mm:ss”字符串格式: //测试 var str = "\/Date( ...

  7. Web NFC API

    W3C Editor's Draft 29 December 2014 This version: http://www.w3.org/2012/nfc/web-api/ Latest publish ...

  8. python ATM购物程序

    需求: 模拟实现一个ATM + 购物商城程序 额度 15000或自定义 实现购物商城,买东西加入 购物车,调用信用卡接口结账 可以提现,手续费5% 每月22号出账单,每月10号为还款日,过期未还,按欠 ...

  9. javascript-ajax学习

    /**  *     @todo 封装Ajax 传输类  *     @param params:参数  *    @example 用法: var mAjaxer = new Ajaxer(para ...

随机推荐

  1. mysql数据库新插入数据,需要立即获取最新插入的id

    在MySQL中,使用auto_increment类型的id字段作为表的主键.通常的做法,是通过“select max(id) from tablename”的做法,但是显然这种做法需要考虑并发的情况, ...

  2. AE导出mov

    最近安装了AE发现没法导出MOV格式的: 感觉应该是没有安装支持MOV的播放器之类的原因造成的:果断去下载一个quicktime 安装好之后重启发现真的有 mov 格式了

  3. 终于修好了MacBook

    之前由于Trackpad故障,陆家嘴苹果店开了维修单,让我在2周内去更换,详见第二次去苹果店维修MacBook. 后来由于购买了AppleCare进行延保,又担心放在那维修时间长,就懒得去更换了. 昨 ...

  4. 服务器为什么这么慢?耗尽了CPU、RAM和磁盘I/O资源

    机器运行缓慢通常是由于消耗了太多系统特定的资源.系统的主要资源包括CPU.RAM.磁盘I/O以及网络.过度使用这些资源的任何一种都会让系统陷入困境.不过,如果能登录到系统之中,可以借助大量工具确定问题 ...

  5. Day20 javaWeb监听器和国际化

    day20 JavaWeb监听器 三大组件: Servlet Listener Filter   Listener:监听器 初次相见:AWT 二次相见:SAX   监听器: 它是一个接口,内容由我们来 ...

  6. pathmunge

    pathmunge是linux系统redhat系列版本系统变量/etc/profile中的函数 判断当前系统的PATH中是否有该命令的目录,如果没有,则判断是要将该目录放于PATH之前还是之后 pat ...

  7. go-002-语言结构

    Go 语言的基础组成有以下几个部分: 包声明package,必须在源文件中非注释的第一行指明这个文件属于哪个包, 引入包import,在开头部位使用 import 导入包,单个包 import “fm ...

  8. git-【七】bug分支

    在开发中,会经常碰到bug问题,那么有了bug就需要修复,在Git中,分支是很强大的,每个bug都可以通过一个临时分支来修复,修复完成后,合并分支,然后将临时的分支删除掉. 比如我在开发中接到一个40 ...

  9. thinkphp5使用PHPMailler发送邮件

    http://www.dawnfly.cn/article-1-350.html 想要了解thinkphp3.2版本发送邮件的,请点击此链接:http://www.dawnfly.cn/article ...

  10. Struct2小结:

    Action小结: 实现一个Action的最常用的方式:从ActionSupport继承: DMI动态方法调用,减少配置内容: 通配符 *_* ({1},{2})的使用更方便: 接收参数的方法(一般用 ...