php - 在显示 HTML 之前检测搜索页面的 Ajax 请求何时返回 0 个结果

标签 php javascript jquery ajax

我正在尝试从页面获取 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 何时找不到任何结果,并且首先 if(在 JavaScript 中)不为 TRUE(始终为 FALSE)。 当我的 php 代码在数据库中找不到任何结果时,如何在 JavaScript 中进行检测。

最佳答案

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

然后,PHP 脚本将返回 [] 作为 JSON 对象,您可以在 JavaScript 中毫无问题地检测到该对象。

关于php - 在显示 HTML 之前检测搜索页面的 Ajax 请求何时返回 0 个结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7639046/

相关文章:

javascript - 生成选择列表项问题

php - 为什么我的 css 选择器未被使用?

Javascript 格式化数字 API

php - Ajax 和 JSON 响应问题

javascript - .Net Select/Select2 knockout javascript - 如果初始值不在下拉列表中,则无法加载初始值

php - 使用 preg_match 解析 youtube 视频 ID

php - SQLSTATE[08004] [1040] 连接过多

javascript - 链接点击时活跃的li

javascript - react native 传值

javascript - 用 JS .value 替换 JQuery .val()