解决ajax 传递为空但显示在页面上为undefined 问题

昨天写代码遇到一个问题,这个问题以前也遇到过,只不过那时以为简单就没做什么笔记,结果昨天遇到还是要去查百度,查百度又要找好一会儿,所以就记录一下。避免以后忘记。
首先问题是这样的:我用ajax到动态的做表格插入,从后台传回来一个对象的list集合,然后进行遍历动态的生成表格的行。后台写的都正确的,结果表格有些内容为显示为undefined。后来我调试了一下发现ajax自动的把为空的字段设成了undefined。

//这是修改后的ajax代码
 $("#ss").click(function(){ 
              var key = $("#firstname").val();
              if(key==''){

                  alert("请输入内容查询!");
                  return;
              }
              $.ajax({
                url:'${pageContext.request.contextPath}/door/searchBykey.do',
                type:'post',
                dataType:'json',
                data:{
  'key':key},
                success:function(data){ 

                    $("table>tbody>tr").remove();
                    for(var i=0;i<data.length;i++){
                      var count = i+1;
                      var doors = data[i].door;
                     var str = doors.replace(/\#/g,"%23"); 
                        $("table>tbody").append(
                                  '<tr><td>'+count+'</td>'+    
                                  '<td>'+ (data[i].build==undefined?"":data[i].build)+'</td>'+
                                  '<td>'+ (data[i].room==undefined?"":data[i].room)+'</td>'+
                                  '<td>'+ (data[i].door==undefined?"":data[i].door)+'</td>'+
                                  '<td>'+ (data[i].conSn==undefined?"":data[i].conSn)+'</td>'+
                                  '<td style="width:131px;">'+
                                     '<button type="button" class="btn btn-success" data-toggle="modal" data-target="#myModal2" onclick="updatebutton('+str+')">'+"修改"+'</button>'+
                                    '<button type="button" class="btn btn-danger" onclick="delButton('+data[i].id+')">'+"删除"+'</button>'+
                                   '</td>'+   
                                   '</tr>'
                        );




                    }


                },
                error:function(){ 
                    alert("请求失败!");
                }
              });


          });

这个问题的解决方法很简单 ,就是将你的值判断一下是否为undefined,如果为undefined的,就将这个值设置为空就好了
具体代码

(data[i].room==undefined?"":data[i].room)

希望有帮助!

    原文作者:proven.
    原文地址: https://blog.csdn.net/qq_33096743/article/details/72636305
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞