×

js jquery

jQuery.ajax遇到的问题

小星星 小星星 发表于2021-04-22 22:13:08 浏览301 评论0

抢沙发发表评论

1.jQuery.ajax向后台传递一个数组,在后台接收该值

前台js方法部分代码如下:(注意添加

traditional: true

)语句,否则会后台无法接受到数据

function saveTopic(){
    var radios=document.getElementsByClassName('topicSelect');
    var pageID = [[${paper.getId()}]];
    var addId = new Array();
    var flag = false;
    for (var j = 0; j <radios.length;j++) {
        if (radios[j].checked) {
            addId.push(radios[j].getAttribute("name"));
            flag =true;
        }
    }
    console.log(addId);
    if(flag){
        $.ajax({
            type: "post", // 以post方式发起请求
            url: "/admin/paperTopicAdd", // 你的请求链接
            data: { // 提交数据
                "addId": addId,
                "pageId": pageID// 前者为字段名,后者为数据
            },
            traditional: true,//这里需要添加该语句,否则会失败
            success(data) {
                // data为返回值
                // 成功后的回调方法
                alert(data);
                if(data=="SUCCESS"){
                    location.reload();
                }else{
                    alert("添加失败,请刷新重试");
                }
            }
        })

    }else {
        alert("未选中题目");
    }

}

后台controller代码(SpringMVC):

@PostMapping("/paperTopicAdd")
@ResponseBody
public String paperTopicAdd(@RequestParam("addId") String[] addId,@RequestParam("pageId") String pageId) {
    System.out.println("addId="+addId);
    System.out.println("pageId="+pageId);

    TestPaper page = testPaperService.findById(pageId);
    String topicList = page.getTopicList();
    String[] split = topicList.split(",");
    List<String> list= Arrays.asList(split);
    List<String> arrayList=new ArrayList<String>(list);//转换为ArrayLsit调用相关的remove方法
    String result = "";
    for(String id : addId){
        if(!list.contains(id)){
            arrayList.add(id);
        }
    }
    result = Tools.listConvertToString(arrayList,",");
    System.out.println("result:"+result);
    int updateResult = testPaperService.Update(Integer.valueOf(pageId), result);
    System.out.println("updateResult:"+updateResult);

    return "SUCCESS";
}


 您阅读本篇文章共花了: 

群贤毕至

访客