ajax的post方式传数组参数

前端js代码:

 

$("#btn-simple-submit").click(function () {
  
    var selectImportModule = $("[name='importModule']");
    length = selectImportModule.length;
    var index = 0;
    var importModule = new Array();
    for(i = 0; i < length; i++) {
        if(selectImportModule[i].checked == true) {
            importModule[index] = selectImportModule[i].value;
            ++index;
        }
    }

    if(index == 0) {
        alert("请至少选择一个模块");
        return;
    }

    $.ajax({
        type: "POST",
        url: "import/tools/single",
        dataType: "html",
        traditional: true,
        data:{
            importModule:importModule
        },
        async: true,
        beforeSend: function (XMLHttpRequest) {
        },
        success: function (data) {
            $('#singleOrSimilarityResult').html(data);
        },
        complete: function (XMLHttpRequest, textStatus) {

        },
        error: function (e) {
            $('#singleOrSimilarityResult').html(e);
        }
    });
});


核心: 在上述ajax请求中添加:traditional: true,这样就可以传递参数数组了。

 

 

后端java代码:

 

    @RequestMapping(value = "/import/tools/single", produces = "text/html;charset=UTF-8", method = RequestMethod.POST)
    @ResponseBody
    public String singleImport(@RequestParam(value = "importModule") int[] importModule) {

    }

 

 

 

 

 

你可能感兴趣的:(前端)