码迷,mamicode.com
首页 > Web开发 > 详细

Ajax 传包含集合的JSON

时间:2016-06-24 10:34:07      阅读:171      评论:0      收藏:0      [点我收藏+]

标签:

通过ajax给后台传json对象,当json中含对象集合时,如

$.ajax({
        url : ,
        type : "POST",
        dataType : "json",
        data: { 
            ‘year; : ;2006‘,
            ‘list‘ : [
                {‘day‘: ‘01‘, ‘type‘ : ‘A‘},
                {‘day‘: ‘02‘, ‘type‘ : ‘A‘},
            ]
              },
});

此种方式在服务器端接收不到data

 

解决办法,把list中json转成字符串,服务器端再解析成json.

前端关键代码

    var detail = "";
    
    if ($(".list").length == 0)
    {
        return false;
    }
    
    $(".list").each(function() {
        var day = $(this).find("input").attr("name");
        var order = $(this).find("input:checked").val();
        if (order == undefined){
            order = ‘--‘;
        }
        
        detail += ‘{ "day" : "‘ + day + ‘", "order" : "‘ + order + ‘"},‘;
    });
    
    var jsonstr = "({orders:[" + detail + "]})";
    
    $.ajax({
        url : "",
        type : "POST",
        dataType : "json",
        data: { params: JSON.stringify(eval(jsonstr))},

后端

import net.sf.json.JSONArray;
import net.sf.json.JSONObject;

String params = this.getRequest().getParameter("params");
JSONObject json = JSONObject.fromObject(params);
JSONArray orders = json.getJSONArray("orders");
int length = orders.size();

for(int i = 0; i < length; i++){
            JSONObject item = orders.getJSONObject(i);
            item.getString("day")    
        }    

 

Ajax 传包含集合的JSON

标签:

原文地址:http://www.cnblogs.com/season2009/p/5613202.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!