我正在尝试从页面获取json代码。

private function __ajax_admin_search($username = '')
{
   $result = $this->admin_login->Admin_Username_Ajax($username);
   $count = count($result);
   for ($i = 0;$i < $count;$i++)
      $arr[$i] = $result[$i]->username;
   echo (json_encode($arr));
}


并尝试通过jQuery和JavaScript进行展示

$("#AdminSearch").bind("change keyup", function() {
           var url = "http://localhost/PmMusic/index.php/admin/ajax/admin_search/"+$("#AdminSearch").val();
            $.getJSON(url,function(data){
                if (data.length == 0) // or arr == null
                {
                    $("#AutoSearch").hide(1000);
                }
                else
                {
                    $("#AutoSearch").show(1000);
                }
            });

        });


现在我的问题是,我无法检测到__ajax_admin_search何时找不到任何结果,并且首先(如果在JavaScript中)不是TRUE(始终为FALSE)。
当我的PHP代码在数据库中找不到任何结果时,如何在JavaScript中进行检测。

最佳答案

确保在$arr = Array();循环之前初始化for

然后,PHP脚本将返回[]作为JSON对象,您可以在JavaScript中检测到它而不会出现问题。

07-24 18:59
查看更多