我有一个简单的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);
});
}
});
答案 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';
答案 2 :(得分:0)
当数据为空时,你可以返回一些空标志