weixin_33737134 2015-05-11 08:29 采纳率: 0%
浏览 24

如何使用$ .ajax发布地图

I have a JS function which is supposed to post several Maps that i need in my controller :

    var valuesOriginal = new Map();
    var valuesEdited = new Map();
    var valuesBackup = new Map();
    $.each($('#zgImport').serializeArray(), function(i, field) {

        if(field.name.substring(0,13) == "userLinesAuto"){
            valuesEdited.set(field.name, field.value);
        }else if (field.name.substring(0,17) == "userLinesOriginal"){
            valuesBackup.set(field.name, field.value);
        }else if (field.name.substring(0,9) == "userLines"){
            valuesOriginal.set(field.name, field.value);
        }

    });


$.ajax({

        type : 'POST',
        url : '<%= importAfterValidationUsers %>',
        data : { 
            original : valuesOriginal,
            edited : valuesEdited,
            backup : valuesBackup,
            formValidationSource : "original"
        },
        success: function(serverResponse) {
            alert("ok");
        },
        error: function () {
            alert("error");
        },
        timeout: 3000

    });

But in my controller my maps are always null

public void importAfterValidationUsers(ResourceRequest request, ResourceResponse response) throws IOException {

    Map<String, String[]> users =  request.getParameterMap();
    Map lala = request.getParameter("original");
}

The request.getParameterMap() contains the "formValidationSource" var but not the map, and request.getParameter("original") returns null. What do i miss?

  • 写回答

1条回答 默认 最新

  • weixin_33691817 2015-05-11 08:32
    关注

    Change:

    formValidationSource : "original"
    

    TO

    "original" : formValidationSource  
    

    Edit: Try:

    original : JSON.stringify(valuesOriginal)
    
    评论

报告相同问题?