当前位置:  开发笔记 > 编程语言 > 正文

JSON结构在IE7(JavaScript)中不起作用

如何解决《JSON结构在IE7(JavaScript)中不起作用》经验,为你挑选了1个好方法。

好的,我是JSON的新手所以请原谅我,如果我的问题有点无知 - 我已经太过头了,我需要一些专家建议.

我正在尝试使用一个简单的示例,其中HTML页面使用jQuery的JSON/AJAX函数调用示例PHP页面,该页面传回一个简单的JSON数据结构,然后该页面使用jQuery编写其中一个元素页面的数据结构.在FF工作.在IE7中不起作用arrrggghhhh!

HTML代码(相关部分):






PHP代码(test-ajax.php):

 array('value1a', 'value1b', 'value1c'), 
                'var2' => array('value2a', 'value2b', 'value2c')); 

header("Content-type: text/plain");
echo json_encode($output);
?>

json.php有我正在使用的json_encode()函数 - 我是从http://us2.php.net/manual/en/function.json-encode.php得到的.我正在使用它,因为我没有PHP5,我的系统管理员不会安装任何支持.只需在浏览器中直接查看test-ajax.php即可打印出如下所示的序列化JSON结构:

{"var1":["value1a","value1b","value1c"],"var2":["value2a","value2b","value2c"]}

这似乎是一个有效的JSON结构.在我的JavaScript中,我试图'value1b'通过这样做来引用:json.var1[1].FF处理这个很好.IE7说这是未定义的.

我究竟做错了什么?如何转移像这样的二维数组

array('var1' => array('value1a', 'value1b', 'value1c'), 
      'var2' => array('value2a', 'value2b', 'value2c'));

在JSON/AJAX?或者这不可能吗?



1> Bill..:

好吧,想通了.根本不是JSON/JavaScript问题,而是缓存问题.当我开发这个时,我必须在test-ajax.php不工作或者生成不同的JSON结构时初步测试IE7然后我将test-ajax.php更改为我上面发布的内容并更新了我的JavaScript但是IE7是使用它最初从test-ajax.php收到的缓存版本.我测试了这个 - 如果我清除IE7中的缓存它可以工作,然后如果我更改JSON结构中的值(但不是结构本身),IE7继续使用缓存的JSON结构.

解:

我补充道

header("Cache-Control: no-cache, must-revalidate");
header("Expires: 0"); 

在我的test-ajax.php页面中,现在IE7在进行AJAX调用时正在检查服务器是否有更新版本的test-ajax.php.

感谢大家!

推荐阅读
有风吹过best
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有