怎么把form表单里面多行数据转换成json发送给后台

foreach数据,需要导出数据,理论上需要使用后台查询,但后台和前台百度API提供的经纬度算法差距过大,所有需要把前台这些数据传到后台去,又不想每个name都写一个对象,就想到了组装json。

$("#btn_export").click(function () {
        if ($("#busRealTimeInfo .location").length > 0) {
            $.ajax({
                type: "POST",
                url: G.context_root + "/vehicle/vehBusRealTime/download/realtime",
                data: {
                    data: serializeToJSON($("#busRealTimeInfo").serializeArray(), 12)
                },
                success: function (res) {
                    showDownLoadBox();
                }
            });
        }
    });

/**
 *
 * @param obj serializeArray()序列化数据
 * @param num 每行name的个数
 * @example serializeToJSON($("#busRealTimeInfo").serializeArray(), 9)
 * @returns {string}
 */
function serializeToJSON(obj, num) {
    var jsonStr = "[{";
    $(obj).each(function (index, item) {
        jsonStr += "'" + item.name + "':'" + item.value + "'";
        if (index % num == (num - 1)) {
            if ((index + 1) == obj.length)
                jsonStr += "}]";
            else
                jsonStr += "},{";
        } else {
            jsonStr += ",";
        }
    });
    return JSON.stringify(jsonStr);
}
后台解析json根据前台提供的name名称解析就可以了。

猜你喜欢

转载自blog.csdn.net/xionglangs/article/details/80910575
今日推荐