liberty136 2015-07-25 08:07 采纳率: 0%
浏览 1742

ajax异步请求数据问题。。。看不出哪里错了。。。跪求大神指点。。。

我做ajax读取Excel表格里的数据。。。
这是JAVA代码

java:

 public static List<HashMap<Object,Object>> readExcel(String excelPath){
         //声明一个集合用于存储解析出来的数据
     List<HashMap<Object,Object>> maps = new ArrayList<HashMap<Object,Object>>();
     //导入模板文件
     String execelFile="D:\\MyEclipse 10\\Workspaces\\import\\WebRoot\\course.xls";
     Workbook book =null;
        try {
            // 创建文件输入流
            InputStream is = new FileInputStream(execelFile);
            // 获取Excel文件对象
            book = Workbook.getWorkbook(is);
            // 获取制定的工作表,默认第一个
            Sheet sheet = book.getSheet(0);
            // 获取行
            int rows = sheet.getRows();
            // 获取列
            int cols = sheet.getColumns();
            // 循环迭代内容
            for(int i=0; i<rows; i++){
                // 从第二行读取
                i+=1;
                Cell[] cells= sheet.getRow(i);
                /*String title = cells[0].getContents();
                String desc = cells[1].getContents();
                System.out.println("行:"+(i+1));
                System.out.println("tetle:"+title);
                System.out.println("desc:"+desc);*/

                HashMap<Object,Object> map = new HashMap<Object,Object>();
                map.put("tetle", cells[0].getContents());
                map.put("desc", cells[1].getContents());

                maps.add(map);
            }
            System.out.println(maps);
        } catch (Exception e) {
            e.printStackTrace();
            System.out.println("文件导入异常!");
        }finally{
            if(book !=null){
                book.close();
            }
        }
        return maps;

这是数据显示的页面:

import.jsp

 <%@page import="org.apache.struts2.json.JSONUtil"%>
<%@ page language="java" import="java.util.*, com.yiyun.util.*" pageEncoding="utf-8"%>
<%
    List<HashMap<Object,Object>> lists =importUtil.readExcel(null);
    out.print(JSONUtil.serialize(lists));
%>

这是ajax异步请求数据显示页面:
ajax.jsp

<html>
  <head>
    <meta http-equiv="Contrnt-Type" content="text/html"; charset="utf-8">
    <title>大数据批量导入</title>
    <meta name="Keywords" content="关键词,关键词">
    <meta name="description" content="">

    <style type="text/css">
      *{ margin:0;padding:0;}
      body{font-size:12px;font-family:"微软雅黑";color:#666;}

      .qq{width:800px;height:500px;
         margin: 70px auto;
      }
      .qq h1{font-size:24px;text-align:center;}
      .qq .upload{width:120px;height:36px;background:#0099cc;display:block;line-height:36px;
           text-align:center;color:#fff;text-decoration:none;margin:30px 0;border-radius:12px;
           font-size:16px;}

      .qq .upload:hover{background:#0094f7;}
      .qq .con{width:800px;height:500px;border-top:1px solid #a5a5a5;
            border-bottom:1px solid #6c6c6c;}
      .qq .con .list p{font-size:14px;line-height: 46px;}
      .qq .con .list{margin: 20px 0;}
      .qq .con .list:hover{background:#d8d8d8}

    </style>

  </head>
 <body>
   <div class="qq">
     <h1>大数据批量导入</h1>
     <a href="#" class="upload">上传批量数据</a>
     <div class="con">
     </div>   
   </div>
<script type="text/javascript" src="js/jquery-1.11.1.min.js"></script>
<script type="text/javascript">
   $(function(){
           alert(1);
     $(".upload").click(function(){
           alert(2);
       $.ajax({
         type:"post",
         url:"index.jsp",
         seccess:function(data){
            var jdata = eval("("+data+")");
            var html = "";
            for(var i=0; i<jdata.length; i++){
               html+="<div class='list'>"+
                     "<p>第"+(i+1)+"课名称"+jdata[i].title+"</p>"+
                     "<p>描述"+jdata[i].desc+"</p>"+
                     "</div>";
            }
            $(".con").html(html);
         },
            error:function(e){
               alert("错误:"+e);
            }
       });
     });
   });
</script>
 </body> 
</html>

点击上传批量数据时。。。数据没从Excel表中读取出来。。。这是为什么??请大神赐教

  • 写回答

3条回答

  • Go 旅城通票 2015-07-25 09:24
    关注

    执行到success还是error了?自己增加alert看服务器都返回了什么内容,其中error第一个参数是xhr对象,要获取responseText参数

     seccess:function(data){
     alert(data)
     }
    ,error:function(e){
                   alert("错误:"+e.responseText);
                }
    
    评论

报告相同问题?

悬赏问题

  • ¥15 逻辑谓词和消解原理的运用
  • ¥15 三菱伺服电机按启动按钮有使能但不动作
  • ¥15 js,页面2返回页面1时定位进入的设备
  • ¥200 关于#c++#的问题,请各位专家解答!网站的邀请码
  • ¥50 导入文件到网吧的电脑并且在重启之后不会被恢复
  • ¥15 (希望可以解决问题)ma和mb文件无法正常打开,打开后是空白,但是有正常内存占用,但可以在打开Maya应用程序后打开场景ma和mb格式。
  • ¥20 ML307A在使用AT命令连接EMQX平台的MQTT时被拒绝
  • ¥20 腾讯企业邮箱邮件可以恢复么
  • ¥15 有人知道怎么将自己的迁移策略布到edgecloudsim上使用吗?
  • ¥15 错误 LNK2001 无法解析的外部符号