2014-07-15 jquery ajax后台向前台传list

来源:互联网 发布:python 条码 编辑:程序博客网 时间:2024/06/09 16:38
方法1:
后台代码:
 //根据标id获取债权信息
 public void creditorRightsLists() {
  long loanId = Long.valueOf(request.getParameter("loanId")); //借款表id
  List<UCreditorsRights> creditorsRights = webCreditorsRightsBiz.getLoanRelates(loanId); //根据标id获取债权信息
  JSONArray jsonArray = JSONArray.fromObject(creditorsRights);//转化成json对象
  out.print(jsonArray);//返给ajax请求
 }
前台代码:
        $.ajax({
         url : "webUCreditorsRightsAction_creditorRightsLists.do",
            type: 'post',
            data:{ 'loanId':loanId},
            dataType: 'json',
            success: function (json) {
    alert(json.length);
    alert(json[0].customerName);
    return;
            }
        });

方法2:
后台代码:
 //根据标id获取债权信息
 public void creditorRightsLists() throws IOException {
  long loanId = Long.valueOf(request.getParameter("loanId")); //借款表id
  List<UCreditorsRights> creditorsRights = webCreditorsRightsBiz.getLoanRelates(loanId); //根据标id获取债权信息
  HttpServletResponse res = ServletActionContext.getResponse();
  res.reset();
  res.setContentType("text/html;charset=utf-8");
  PrintWriter pw = res.getWriter();
  String json = JSONArray.fromObject(creditorsRights).toString();
  pw.print(json);
  pw.flush();
  pw.close();
 }
前台代码:
        $.ajax({
            type: 'post',
            url : "webUCreditorsRightsAction_creditorRightsLists.do",
            dataType: 'text',
            data:{ 'loanId':loanId},
            success: function(json){
                var dataObj=eval("("+json+")");
                for(var i=0;i<dataObj.length;i++){
                    alert(dataObj[i].creditNumber+" "+dataObj[i].publishTime);
                }
            },
            error: function(text) {}
        });

项目实例(用的方法2,同时添加了date日期类型转换功能)
后台代码
 //根据标id获取债权信息(返回Object[]数组,不是对象数组)
 public void creditorRightsLists() throws IOException {
  long userId = Long.valueOf(request.getParameter("userId")); //投资用户id
  long loanId = Long.valueOf(request.getParameter("loanId")); //借款表id
  long incometype = Long.valueOf(request.getParameter("incometype")); //用户选择收益方式:1=收益复投,2=收益返还。 超级金元宝对应标和债权要根据用户选择收益方式拆分显示
  List creditors = creditorsRightsService.getLoanRelates(userId, loanId, incometype); //根据标id获取债权信息
  res.reset();
  res.setContentType("text/html;charset=utf-8");
  PrintWriter pw = res.getWriter();
 
  //保证date日期类型转换后在前台显示不是object,而是具体日期串显示
  JsonConfig jsonConfig = new JsonConfig(); //JsonConfig是net.sf.json.JsonConfig中的这个,为固定写法
  jsonConfig.registerJsonValueProcessor(Date.class , new JsonDateValueProcessor());
  String json = JSONArray.fromObject(creditors, jsonConfig).toString();
       
  pw.print(json);
  pw.flush();
  pw.close(); 
 }
前台代码:
 function cjjkht(loanId,status,lifeofloan,userId){ /* 超级金元宝协议的附加合同 */
  //获取债权列表并展示
        $.ajax({
            type: 'post',
            url : "webUCreditorsRightsAction_creditorRightsLists.do",
            dataType: 'text',
            data:{ 'loanId':loanId},
            success: function(json){
               document.getElementById("loanName").innerHTML=loantitle;
             
                var dataObj=eval("("+json+")");
                if(dataObj.length<=5){
                 json = "<ul class='clearfix'>";
                }else{
                 json = "<ul class='clearfix scrollBar'>";
                }
               
                if(dataObj.length<=0){
                 da = '正在为您匹配债权,请稍候回来…';
                 json += "<br/><p style='text-align:center; font-size:20px'>"+da+"</><br/>";
                }else{
                 for(var i=0;i<dataObj.length;i++){
                     json += "<li>";
                     json += "<span class='name'>"+dataObj[i][1]+"</span>";  
                     json += "<span class='money'>"+dataObj[i][3]+"</span>";  //如果返回的是对象json而不是Object[],此处改为例如: dataObj[i].customerName
                     json += "<span class='time'>"+dataObj[i][2]+"</span>";
                     json += "<span class='contract'><a href='javascript:cjjkht2(\""+loanId+"\",\""+status+"\",\""+lifeofloan+"\",\""+userId+"\",\""+dataObj[i][0]+"\")'>借</a></span>";
                     json += "</li>";
                 }
                }
                json += "</ul>";
                document.getElementById("result").innerHTML=json;
   
                document.getElementById('aaa').style.display = 'block';
                document.getElementById('bbb').style.display = 'block';
            },
            error: function(text) {}
      });
 }
 function cjjkht2(loanId,status,lifeofloan,userId){ /* 超级金元宝协议的附加合同 */
          window.location = "webLoanContractAction_getContractAgreement.do?ispreferred=20&lifeOfLoan="+lifeofloan;
 }
 function close(){
  document.getElementById('aaa').style.display = 'none';
  document.getElementById('bbb').style.display = 'none';
 }
<!-- 债权列表合同展示弹出框设计 style-->
<div class="dialog-overlay" id="aaa" style="display: none;" ></div>   //弹窗遮罩效果
<div class="loan-body listClaims" id="bbb" style="display: none;">
    <a class="listClaimsClose" href="javascript:close();"></a>
    <h2>金信网为您投资的<em><span id="loanName"></span></em>匹配以下债权</h2>
    <div class="listClaimsMain">
        <div class="listTop clearfix">
            <span class="name">借款人</span>
            <span class="money">初始出借金额(元)</span>
            <span class="time">初始出借日期</span>
            <span class="contract">合同</span>
        </div>
        <div id="result">
        </div>
    </div>
    <div id="result2">
    </div>
    <a class="determine" href="javascript:close();">确定</a>
</div>
<!-- 债权列表合同展示弹出框设计 end-->

0 0