jQuery中ajax应用的一个实例(前端+controller)

页面的代码:

if(filesArray.length>0)
{
    $.ajax({
        type: "post",
        url: "****/****/sendFiles",
        //data:JSON.stringify(filesArray),
        data:{"filesArray":filesArray},
        async: false,
        traditional: "true",
        dataType : "json",
        success: function(data) {
            //alert(data.code);

            if(data.code==100)
            {
                var info = data.extend;//可以通过extend中信息,详细展示controller中返回的结果
                //返回信息的代码,略
                alert("导入操作成功!");

            }
            else if(data.code==200)
            {
                
                var info = data.extend;//可以通过extend中信息,详细展示controller中返回的结果
                //返回信息的代码,略
                   alert("导入失败!");
            }


        },
        error: function (data) {


        }
    });
}
else
{
    alert("There is not *** file witch is selected!")
}

注意:traditional: "true", 必须有!!



java端的代码:


首先,先创建一个单独的java类,存放返回给前端的结果信息:

public class ReturnMsg {

        private int code;    //返回100表示成功,200表示失败
        private String msg;    //返回提示信息
        private Map<String,Object> extend = new HashMap<String,Object>();    //用户返回给浏览器的数据

        public static ReturnMsg success() {
            ReturnMsg result = new ReturnMsg();
            result.setCode(100);
            result.setMsg("处理成功");
            return result;
        }
        public static ReturnMsg fail() {
            ReturnMsg result = new ReturnMsg();
            result.setCode(200);
            result.setMsg("处理失败");
            return result;
        }
        
        public ReturnMsg add(Map<String,Object> info) {
            this.setExtend(info);
            return this;
        }

        public String getMsg() {
             return msg;
        }

        public void setMsg(String msg) {
               this.msg = msg;
        }

    public int getCode() {
        return code;
    }

    public void setCode(int code) {
        this.code = code;
    }


    public Map<String,Object> getExtend() {
        return extend;
    }

    public void setExtend(Map<String,Object> extend) {
        this.extend = extend;
    }

}


然后,在controller中创建相关函数,处理页面的请求

@RequestMapping({"sendFiles"})
@ResponseBody
public ReturnMsg ImportSelectedCi(HttpServletRequest request, HttpServletResponse response, 
             @RequestParam String[] filesArray) throws IOException {


    String CFilePath = "****************";
    System.out.println(FilePath);
    String importPath;

    Map<String,Object> res_info = new HashMap<String,Object>();    //用户返回给浏览器的数据

    if(null!=filesArray) {

        for(int i=0;i<filesArray.length;i++){

            importPath = CFilePath + filesArray[i];

            try{
                

                List<SmsGeoRegion> slist = new ArrayList<SmsGeoRegion>();

                int result_int = cimeDao.readCFileByLines(importPath,slist);

                if(result_int==0) {
                    //parsing info write into mysql
                    int ret = cimeDao.writeToMysql(slist);
                    String temp_key = "succ"+i;
                    //记录导入成功的文件
                    res_info.put(temp_key,filesArray[i]);

                }
                else{
                    System.out.println("There are errors when parsing C File!");
                    res_info.put("error2",filesArray[i]+":c文件解析过程中出现问题!");
                    return ReturnMsg.fail().add(res_info);
                }


            }catch(Exception e){
                //fail("Test file read failed!");
                System.out.println("Test file read failed!");
                res_info.put("error1",filesArray[i]+":c文件读取失败!");
        
                return ReturnMsg.fail().add(res_info);
            }

        }

        return ReturnMsg.success().add(res_info);

    }

    res_info.put("error0","界面返回的c文件未找到!");
    return ReturnMsg.fail().add(res_info);
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值