首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Ajax将数据发送到spring mvc控制器,该控制器获取数据并设置为datatable。

Ajax将数据发送到spring mvc控制器,该控制器获取数据并设置为datatable。
EN

Stack Overflow用户
提问于 2020-07-24 09:26:32
回答 2查看 827关注 0票数 1

我试图使用DataTable Ajax请求将带有一些数据的POST请求发送到spring引导控制器,并将数据设置为Table。

HTML表:

代码语言:javascript
运行
复制
<table id="assignmentDetails" class="display" style="width:100%">
                                    <thead>
                                        <tr>
                                            <th>Id</th>
                                            <th>title</th>
                                            <th>doc</th>
                                            <th>end</th>
                                            <th>start</th>
                                           
                                        </tr>
                                    </thead>
                                </table>

JQuery:

代码语言:javascript
运行
复制
    $(document).ready(function(){
    $('#collapse'+id).on('shown.bs.collapse', function() {
        $('#assignmentDetails').DataTable({
            "ajax": {
                "url": "http://localhost:9091/assignment/getassignments",
                "dataSrc": '',
                "method": "POST",
                "timeout": 0,
                "headers": {
                  "Content-Type": "application/json"
                  },
                  "data":         JSON.stringify({"moduleId":"10010","subModuleId":null}),
                },
                "columns": [
                { data: "Id" },
                { data: "title" },
                { data: "doc" },
                { data: "start" },
                { data: "end" },
            ]
        } );
    });
            
});

在服务器上发送请求后,我将得到Status Code 400错误。控制台错误:

2020-07-24 14:26:53.963警告2724

有人能帮我用datatable POST reqeust向服务器发送post请求吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-09-07 08:09:07

在jQuery中花了两天时间发送POST请求之后,使用参数进行Ajax调用并获得响应。

jQuery

代码语言:javascript
运行
复制
$("#demoButton").on('click', function(){
        var getData={};
        getData["mId"]=$("#mId").val();
        getData["sId"]=$("#sId").val();
    
         var tabla = $('#dataTable').DataTable( {

            ajax: {
                url: getDataURL,
                datatype : 'json',
                data : function (  ) {
                    return JSON.stringify(getData);
                },
                "type": "POST",
                "headers": {
                    "Content-Type": "application/json"
                  },
                  "dataSrc": function(data){
                      return data;
                  }
                
            },
            "columns": [
                { data: "Id"},
                { data: "key2" },
                { data: "key3" },
                { data: "key4" },
            ]
        } );
    })
}); // end of jQuery function
代码语言:javascript
运行
复制
<button id="demoButton">Demo Button</button>
    <table id="dataTable" class="display" style="width:100%">
                                    <thead>
                                        <tr>
                                            <th>ID</th>
                                            <th>Value2</th>
                                            <th>Value3</th>
                                            <th>Value4</th>
                                        </tr>
                                    </thead>            
   </table>

票数 1
EN

Stack Overflow用户

发布于 2020-07-24 09:39:58

如果是意料之外的字符,则发送给控制器的JSON可能无效。在浏览器中,打开开发工具并尝试检查“网络”选项卡。通常,您可以找到正在发送的实际JSON,并检查它是否有任何可疑之处。

我还建议使用jQuery 帖子函数,但这不是您问题的一部分;)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63070730

复制
相关文章

相似问题

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