首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >java spring boot HTTP POST请求不起作用

java spring boot HTTP POST请求不起作用
EN

Stack Overflow用户
提问于 2015-07-12 20:21:56
回答 1查看 2K关注 0票数 1

对于我的应用程序,我编写了一个POST请求来发送复选框列表中的参数数组。它适用于get请求,但不适用于post请求。我的代码中的错误是什么。

我在客户端用于向服务器发送ajax请求的代码。

代码语言:javascript
复制
$(".add").click(function(){

    monitoring.length=0;
    nonMonitoring.length=0;
    $('.modal-body input:checked').each(function() {
        monitoring.push($(this).val());
        });

    $('.addkeywords input:checked').each(function() {
        nonMonitoring.push($(this).val());
        });


//  alert(monitoring[2]+ " " + nonMonitoring[2]);
    var monitoringLength=monitoring.length;
    var nonMonitoringLength=nonMonitoring.length;

    $.ajax({
            type : "POST",
            url : '/rest/channelstats/my/rest/controller',
            data : {
            //  monitoring : monitoring,
            //  nonMonitoring: nonMonitoring,
                monitoringLength: monitoringLength,
                nonMonitoringLength: nonMonitoringLength,

            },
            success : function(data) {

            //  var keywordsList=data
                //console.log(keywordsList);
            //  htm = "" ;


            }


});


    })

我在服务器端的java代码。

代码语言:javascript
复制
@RequestMapping(value="/rest/channelstats/my/rest/controller",method = RequestMethod.POST)
public void monitorKeywords(@RequestParam(value="monitoringLength",required=true)int monitoringLength,@RequestParam(value="nonMonitoringLength",required=true)int nonMonitoringLength){
    System.out.println("MonitoringLength =>" +monitoringLength);
    System.out.println("NonMonitoringLength=>" +nonMonitoringLength);

}

}

它适用于HTTP GET请求,但不适用于POST requests.How,我应该解决这个问题吗?

EN

回答 1

Stack Overflow用户

发布于 2015-11-02 02:19:35

根据您的jquery post请求,您应该使用DAO(Data Access Object)来解析请求数据。因此您应该添加类Request

代码语言:javascript
复制
public class Request {

    private int monitoringLength;
    private int nonMonitoringLength;

    //getters and setters
} 

并将控制器更改为

代码语言:javascript
复制
@RequestMapping(value="/rest/channelstats/my/rest/controller",method = RequestMethod.POST)
public void monitorKeywords(@RequestBody Request request){
    System.out.println("MonitoringLength =>"+request.getMonitoringLength());            
    System.out.println("NonMonitoringLength=>"+request.getNonMonitoringLength());
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31367704

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档