鍍金池/ 問答/PHP  HTML/ ajax請求?返回?cái)?shù)據(jù)處理?空數(shù)據(jù)?

ajax請求?返回?cái)?shù)據(jù)處理?空數(shù)據(jù)?

$.ajax({
    type:'POST',
     dataType: "json",
? ? ?url:"url",
? ? ?data:adata,
    success:function(data){
        console.log(data);
        var arr=[];
        for(var i in data){
            arr.push(data[i])
        }

        var str='';
        for(j=0;j<arr[2].length;j++){
              str+='<div class="question1">';
              str+='<p>'+arr[2][j].question+'</p>';
               str+='<ul>';
               str+='<li class="jjjj" value="A">'+arr[2][j].answera+'</li>';  
               str+='<li class="jjjj" value="B">'+arr[2][j].answerb+'</li>';
               str+='<li class="jjjj" value="C">'+arr[2][j].answerc+'</li>';
               str+='<li class="jjjj" value="D">'+arr[2][j].answerd+'</li>';  
               str+='</ul>';
               str+='</div>';   

        }
        $("#container").html(str);

這是我請求到的數(shù)據(jù) 和前端渲染,但是后臺返回我的數(shù)據(jù)有時(shí)候是三個(gè)選項(xiàng),有時(shí)是四個(gè)選項(xiàng),我現(xiàn)在的處理方法就會還是四個(gè)選項(xiàng),但是有一個(gè)undefind,怎么處理,求大神幫忙

clipboard.png

回答
編輯回答
怣人

判斷下 d 是否存在

for(j=0;j<arr[2].length;j++){
              str+='<div class="question1">';
              str+='<p>'+arr[2][j].question+'</p>';
               str+='<ul>';
               str+='<li class="jjjj" value="A">'+arr[2][j].answera+'</li>';  
               str+='<li class="jjjj" value="B">'+arr[2][j].answerb+'</li>';
               str+='<li class="jjjj" value="C">'+arr[2][j].answerc+'</li>';
               if(arr[2][j].answerd){
                   str+='<li class="jjjj" value="D">'+arr[2][j].answerd+'</li>'; 
               } 
               str+='</ul>';
               str+='</div>';   

        }
2017年8月2日 15:50
編輯回答
半心人

我覺得這個(gè)就是接口沒處理好, 選項(xiàng)就該用數(shù)組返回!

2018年8月28日 12:10
編輯回答
萌二代
if(arr[2][j].answerd != undefined)
str+='<li class="jjjj" value="D">'+arr[2][j].answerd+'</li>';
2018年8月27日 11:05