如果在Ajax调用后数据为空,如何比较记录数?

时间:2016-04-04 15:02:48

标签: javascript ajax

我在ajax调用后比较我的记录时遇到问题。所以我创建了标准的ajax调用,我发送参数,我使用这些参数从我的查询中获取记录。如果我没有任何记录,我想执行下一步,如果没有,我会输出警报。这是我使用的代码:

$j.ajax({
    type:  'POST'
    , url:  'Records.html'
    , cache:  false
    , data: {'myQyery':sel,'myID':myID}
    , async:   false
    , success:  function(data)
        {
            var jsData = JSON.parse("{" + $j.trim(data).slice(0,-1) + "}");

            for( var key in jsData){
                if(jsData[key].duplicateID == ''){
                    alert('Run my code')    
                }else{
                    alert('You already signed in.')
                }
            }

        }
   , error: function(jqXHR, textStatus, errorThrown){ gwLogIt(errorThrown)}
});

如果我运行此代码并且在Ajax调用后有记录,我的代码工作正常。响应如下:

"1":{"duplicateID":"8"},

我得到了第二个警报。但是如果我在Ajax调用后没有任何记录,我的第一个警报永远不会被执行。我的回答是完全空白的,没有任何记录。所以我试图比较我的数据等于'',但这不起作用。如果在ajax调用后我的数据是空的,那么比较另一种方法是什么?这样我的第一个if语句可以执行吗?

1 个答案:

答案 0 :(得分:1)

而不是检查jsData[key].duplicateID == ''我使用if(Object.keys(jsData).length == 0)。这样,如果我没有返回任何记录,我的数据就等于0.