快速解决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)

以上这篇快速解决ajax传递为空但显示在页面上为undefined的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • Ajax获取数据然后显示在页面的实现方法

    主要功能流程介绍 循环获取列表数据 点击列表数据进入详情页 点击报名参加弹出报名成功提示框 点击提示框中的确定按钮,跳回列表页 代码实现流程和解说 一.列表页 1.访问链接list.php时判断是pc端还是客户端 $user_agent_arr = mall_get_user_agent_arr(); if(MALL_UA_IS_PC == 1) { //****************** pc版 ****************** include_once './list-pc.php';

  • 基于ajax后台返回的数据为空前台显示出现undefined的解决方法

    之前自己做的一个图书管理系统,显示图书借阅排行榜,因为翻译在数据库中有为空的字段,故前台显示会显示undefined. 以下贴上部门代码: $(document).ready(function () { $("#rankTable tbody").html(""); var id = 1; $.ajax({ url:"bookInfo/bookInfo_rank.action", type:"POST", data:{}, d

  • ajax获取json数据为undefined原因分析

    Asynchronous JavaScript and XML (Ajax ) 是驱动新一代 Web 站点(流行术语为 Web 2.0 站点)的关键技术.Ajax 允许在不干扰 Web 应用程序的显示和行为的情况下在后台进行数据检索.使用 XMLHttpRequest 函数获取数据,它是一种 API,允许客户端 JavaScript 通过 HTTP 连接到远程服务器.Ajax 也是许多 mashup 的驱动力,它可将来自多个地方的内容集成为单一 Web 应用程序. 一般处理服务器传来的json值

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

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

  • 快速解决ajax返回值给外部函数的问题

    如下所示: function validateUser(mya){ var val=mya.name; val = $.trim(val); var flag=true; if(val != ""){ var url1="${pageContext.request.contextPath}/group/getUserCount" var data1= {"gid":val, time:new Date()}; $.post(url,data1,f

  • 快速解决ajax请求出错状态码为0的问题

    今天在使用 ajax 向后台请求数据时出现错误,提示状态码为 0 ,后台采用的是 spring mvc 架构. 状态码为0是什么意思呢?查找了下,原来它意味着 (未初始化)即没有调用到send()方法,我原来代码如下 : $.ajax({ url:"test", type:"post", data:{ blogTitle : $("#form1 input").val(), blogType : $("#form1 option:sel

  • 快速解决android webview https图片不显示的问题

    Android webview 从Lollipop(5.0)开始webview默认不允许混合模式,https当中不能加载http资源,需要设置开启. 解决方法: if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { webview.getSettings().setMixedContentMode(WebSettings.MIXED_CONTENT_ALWAYS_ALLOW); } 以上这篇快速解决android webview

  • C#将图片和字节流互相转换并显示到页面上

    图片转换成字节流先要转换的IMage对象,转换之后返回字节流.字节流转换成图片,要转换的字节流,转换得到的Image对象,根据图片路径返回图片的字节流,感兴趣的朋友看下下面的代码. C#将图片和字节流相互转换代码: usingSystem; usingSystem.Collections.Generic; usingSystem.Linq; usingSystem.Text; usingSystem.Drawing; usingSystem.IO; namespaceMicrosoft.Form

  • ajax快速解决参数过长无法提交成功的问题

    查了很多资料都说,get方法的参数是有限制的,post方法的参数的长度是无限制,这也是post相比get的优势一直. 在ajax中使用post方法,用常规的参数格式:param1=a1&param2=a2 ,当参数长度过长时,依然提交不成功.比如我们经常这样写一个ajax的post请求: $.ajax({ type: "post", // post or get contentType:"application/json;charset=utf-8", da

  • 用ajax传递json到前台中文出现问号乱码问题的解决办法

    我使用的Springmvc,在controller层传输一个json到前台,后台显示没问题,中文正常显示而到了前台 中文就变成了问号. 后来发现,因为在controller中返回json用了@ResponseBody,而spring源码中@ResponseBody 的实现类发现其默认的编码是 iso-8859-1,而项目用的编码为utf-8,所以传中文会出现乱码. 这里我使用了注解来解决: @RequestMapping(value="/echarts.do", produces =

  • ajax传送参数含有特殊字符的快速解决方法

    JQuery AJAX中遇到这样一个问题,参数中包含特殊字符,比如&'#@等, 这时执行AJAX的时候就会出问题,因为所传的参数变了.看个示例就明白: 方案一: $.ajax({ url: '/ashx/ajax.ashx', type: 'post', data: 'option=delete&name=11&adb, success: function (data) { if (data != 'error ') { } } }); ' 上面执行的ajax就是异步删除一个nam

  • Android中findViewById返回为空null的快速解决办法

    [问题描述] Android中如下代码: LinearLayout groupPollingAddress = (LinearLayout)findViewById(R.layout.fragment_field_list); 返回为null. [解决过程] 1.参考: android – getActivity().findViewById(R.layout.contacts_list_view) returns null – Stack Overflow AndroidGUI27中findV

  • JS获取浮动(float)元素的style.left值为空的快速解决办法

    解决办法: 1.使用行内样式设置元素的top和left值; 2.or直接获取元素的offsetLeft得到相关数值,还不需要parseInt 问题原因: 如果父div的position定义为relative,子div的position定义为absolute,那么子div的style.left的值是相对于父div的值,这同offsetLeft是相同的,区别在于: style.left 返回的是字符串,如28px,offsetLeft返回的是数值28,如果需要对取得的值进行计算,还用offsetLe

随机推荐