gpt4 book ai didi

javascript - jquery parseJSON() 在 JSON 为空时返回错误

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:36:18 25 4
gpt4 key购买 nike

当返回的 JSON 对象不包含任何数据时,我在使用 JSON AJAX 回调时遇到问题。我的代码如下:

$.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 执行此操作。

最佳答案

$.ajaxpost 将返回字符串格式的 HTML 你需要这样的东西!

success:function(html)
{
if(html)
{
try
{
html = JSON.parse(html);
if(html.MenuData)
{
// do something interesting
}
else
{
// failed
}
}
catch(e)
{
// failed
}
}
else
{
// failed because response is empty
}
}

关于javascript - jquery parseJSON() 在 JSON 为空时返回错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15428266/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com