Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/229.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
什么';IE6/7将json_编码的数据从PHP传递到jQuery/Javascript的安全方法?_Php_Javascript_Jquery_Json - Fatal编程技术网

什么';IE6/7将json_编码的数据从PHP传递到jQuery/Javascript的安全方法?

什么';IE6/7将json_编码的数据从PHP传递到jQuery/Javascript的安全方法?,php,javascript,jquery,json,Php,Javascript,Jquery,Json,我有几种情况需要将多维PHP数组传递到Javascript/jQuery中。PHP函数json\u encode()似乎做得相当好。我见过一些使用$.parseJSON的示例,但我不确定这是为了IE6兼容性还是其他问题。有人能详细说明一下这是否是JavaScript中使用的正确格式吗。假设这是作为PHP视图一部分的javascript/jQuery var sections = <?php echo json_encode($sections); ?>; var节=; 或者,也许

我有几种情况需要将多维PHP数组传递到Javascript/jQuery中。PHP函数
json\u encode()
似乎做得相当好。我见过一些使用
$.parseJSON
的示例,但我不确定这是为了IE6兼容性还是其他问题。有人能详细说明一下这是否是JavaScript中使用的正确格式吗。假设这是作为PHP视图一部分的javascript/jQuery

var sections = <?php echo json_encode($sections); ?>;
var节=;
或者,也许这会更好

var sections = <?php if (!empty($sections)) { echo json_encode($sections); } else { echo "new Array()"; } ?>;
var节=;
或者,我需要$.parseJSON吗?这似乎是个错误

var sections = $.parseJSON(<?php echo json_encode($sections); ?>);
var sections=$.parseJSON();
有人知道我应该注意的IE6问题吗?如果我应该使用
parseJSON()
,它是用单引号还是双引号

提前感谢,,
Jeff Walters

我对IE一无所知,但只要你不在JavaScript中处理JSON字符串,你就不需要任何
parseJSON
函数。只需将它们放入脚本文本中就可以了。

对于parseJSON类型,您必须将其包装为字符串文本。如果节为空,则无论是
[]
还是
{}
都足以满足OTOH(在不再有MSIE6的幸运情况下),这是PHP通常会生成的…您的第一段代码应该已经足够了,因为json可以通过这种方式直接转换为javascript对象。IE6/7不应该有问题。
.parseJSON
被用作外来数据的安全预防措施。如果您自己提供对象文字,那么对象文字就足够了。