當返回的JSON對象不包含數據時,我遇到了JSON AJAX回調的問題。我的代碼如下:當JSON爲空時,jquery parseJSON()返回錯誤
$.ajax({
type: "POST",
url: "includes/get_menu_name.php",
headers: {"cache-control": "no-cache"},
data: data,
success: function(html) {
//alert(html);
var app_data = "";
if (html.MenuData != 0) {
$.each($.parseJSON(html).MenuData, function() {
app_data += "<li data-short='"+this['dish_short']+"' data-desc='"+this['dish_desc']+"' data-dish_id='"+this['dish_id']+"'>"+this['dish_name']+"</li>";
});
$('.listbox').show();
$('.nameslist').html(app_data);
$('li').hover(function() {
$(this).addClass('hover2');
},function(){
$(this).removeClass('hover2');
});
if (html == "") {
$('.listbox').hide();
}
$('li').click(function() {
//alert($('li', this).data('short'));
$('.price').val("");
var main_name = $(this, 'li').text();
$('.main_name').val(main_name);
//$('.price').val($(this).find('.ajaxid').text());
if(main_name.length > 40) {
$('.short_name').val($(this).data('short'))
} else {
$('.short_name').val(main_name);
}
if($(this).data('desc')!="") {
$('.dish_desc').val($(this).data('desc'));
}
var dish_id=$(this).data('dish_id');
$('.main_name').data('dish_id', dish_id);
$('.listbox').hide();
});
}
}
});//end ajax
錯誤回來爲:
TypeError:$.parseJSON(...) is null
我已經嘗試了各種方法,以檢查是否存在回調中的數據,但似乎沒有工作。我對使用JSON非常陌生,想知道如果沒有數據要返回,我是否應該通過php頁面添加不同的回調函數,但是想知道是否有方法通過javascript來實現。
*我試過各種方法來檢查是否有數據*哪些? – Bigood 2013-03-15 09:05:31