AJAX自由编程的一个问题

AJAX自由编程的一个问题

题目:通过Ajax可以根据用户的点击,显示相关内容

参考分析思路:

页面接受Servlet返回给Ajax的内容,使用JS相关代码完成。

问题:我的程序中点击员工列表,应该显示的是员工的姓名,当是一直有一个undefined字段,我不知道为什么会出现这个字段,如下图:

http://img1.sycdn.imooc.com//climg/5cfe4b5400013bbf11810239.jpg

下面是我的代码:

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>职员信息表</title>
</head>
<body>
  <div style="width:90%;margin:0 auto;">
    <input type="button" id="btnName" value="姓名" style="width:30%">
    <input type="button" id="btnJob" value="职位" style="width:30%">
    <input type="button" id="btnDpt" value="部门" style="width:30%">
  </div>
  <div id="infoContent" >
    
  </div>
</body>
<script type="text/javascript">
  var xmlHttp;
  document.getElementById("btnName").onclick = function(){
      if(window.XMLHttpRequest){
          xmlHttp = new XMLHttpRequest();
      }else{
          xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
      }
      xmlHttp.open("GET","/ajax/employeeInfo",true);
      xmlHttp.send();
      xmlHttp.onreadystatechange = function(){
          if(xmlHttp.readyState==4&&xmlHttp.status==200){
              var text = xmlHttp.responseText;
              var json = JSON.parse(text);
              var html;
              for(var i=0;i<json.length;i++){
                  var name = json[i].name;
                  html+="<p style='color:red;text-align:center'>"+name+"</p>";
                  document.getElementById("infoContent").innerHTML = html;
              }
            
          }
      }
  }
  document.getElementById("btnJob").onclick = function(){
      if(window.XMLHttpRequest){
          xmlHttp = new XMLHttpRequest();
      }else{
          xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
      }
      xmlHttp.open("GET","/ajax/employeeInfo",true);
      xmlHttp.send();
      xmlHttp.onreadystatechange = function(){
          if(xmlHttp.readyState==4&&xmlHttp.status==200){
              var text = xmlHttp.responseText;
              var json = JSON.parse(text);
              var html;
              for(var i=0;i<json.length;i++){
                  var job = json[i].job;
                  html+="<p style='color:red;text-align:center'>"+job+"</p>";
                  document.getElementById("infoContent").innerHTML = html;
              }
            
          }
      }
  }
</script>
</html>


正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

1回答
好帮手慕柯南 2019-06-11 09:55:13

同学你好!

在初始化html变量时,如果不给html设置初始值,html为undefined,在拼接时会将其加上。因此在初始化时要给其初始值,如:var html=“”;

http://img1.sycdn.imooc.com//climg/5cff097f0001542f02670115.jpg

如果我的回答解决了你的疑惑,请采纳,祝学习愉快~

问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星

相似问题

登录后可查看更多问答,登录/注册

请稍等 ...
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师