当AJAX返回空数据时显示消息

时间:2016-09-21 09:17:57

标签: jquery ajax

我有一个简单的AJAX代码从DB获取数据并在DIV中显示,我想在没有找到数据时显示错误消息:

$.ajax({
    type: 'POST',
    url: 'models/fetchUsers.php',       //the script to call to get data
    data: $("#searchForm").serialize(), //add the data to the form
    dataType: 'json',                   //data format
    success: function(data)             //on recieve of reply
        {
            if(data.trim()==''){alert("Nothing Found");} //DOESN't WORK
            $.each($(data), function(key, value) {
            $('#itemContainer').append(value.user_id);
                    });

        }
    });

3 个答案:

答案 0 :(得分:0)

它的行为与此类似,因为如果数据为空,则不会返回成功。你可以使用error属性;

$.ajax({
type: 'POST',
url: 'models/fetchUsers.php',       //the script to call to get data
data: $("#searchForm").serialize(), //add the data to the form
dataType: 'json',                   //data format
error: alert("Nothing Found"),      //error message when data is empty
success: function(data)             //on recieve of reply
    {
        if(data.trim()==''){alert("Nothing Found");} //Does this work when data is whitespace?
        $.each($(data), function(key, value) {
        $('#itemContainer').append(value.user_id);
                });

    }
});

答案 1 :(得分:0)

你应该检查服务器端(php)中的空数据,如果是,则将其回显为false,那么你可以像下面的代码那样签入data =='false'。

<script>
    $.ajax({
        type: 'POST',
        url: 'models/fetchUsers.php',       //the script to call to get data
        data: $("#searchForm").serialize(), //add the data to the form
        dataType: 'json',                   //data format
        success: function(data)             //on recieve of reply
            {
                if(data=='false'){alert("Nothing Found");} //DOESN't WORK
                $.each($(data), function(key, value) {
                $('#itemContainer').append(value.user_id);
                        });

            }
        });
</script>

通过echo 'false';

从服务器端返回false以查找失败情况

答案 2 :(得分:0)

当数据为空时,你可以返回一些空标志