我需要将PHP数组传递给
jquery来完成某些任务.为SESSION创建PHP数组,然后为jquery创建json_encoded.之后,我将该变量存储到window js命名空间,以便在我的jquery脚本中使用该数组.
if(isset($_SESSION['mySession'])){ $json_array = json_encode($PHP_array); } <script> <?PHP echo "window.json_from_PHP = ".$json_array; ?> </script>
我需要做的是在做任何事之前检查这个数组是否存在/是空/未定义. check子句对’undefined’操作数成功,但对其余操作不成功.如何在jquery中检查数组是否为空?
这是初始化后json_encoded数组的输出,当$PHP_array中没有任何元素时:
string '[""]' (length=4)
这是jquery:
$(function() { var results = $('#results'); var js_array = window.json_from_PHP; var count = js_array.length; if ((typeof window.json_from_PHP === 'undefined') || (js_array === null) || (jQuery.isEmptyObject(js_array)) || (count === 0)) { $('<p>Array is empty.</p>').appendTo(results); } else { jQuery.each(js_array,function(key,val){ $('<ul><li id="'+key+'">'+val+'</li></ul>').appendTo(results); }); } });
这是我检查空/ null json数组的方法.
if (js_array == undefined || js_array == null || js_array.length == 0){ $('<p>Array is empty.</p>').appendTo(results); }
如果您的json数组是[“”],那么您可能需要添加类似的东西
if (js_array == undefined || js_array == null || js_array.length == 0 || (js_array.length == 1 && js_array[0] == ""))
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。