java - 试图找出如何将对象从 jEditable 数据表插件发送到我的 Java Servlet

标签 java javascript post datatables jeditable

我创建了一个数据表,我正在使用 jeditable 插件来编辑单元格以推回数据。我可以编辑单元格,但是当我按下回车键时,它会发送回我的 URL Rest 端点(我只有一个 System.out.println 来查看数据),我从 Firebug 那里得到了这个错误

"NetworkError: 415 Unsupported Media Type - my rest endpoint url"

我的端点需要一个 JSON 格式的对象,jeditable 只发送一些字符串参数。所以我需要把它包起来。 让我发布我的数据表初始化和 jeditable init。

var computerTable = $("#table_computerTable ").dataTable({
           "bProcessing": true,
           "bServerSide": true,
           "bInfo":false,
           "bAutoWidth":false,
           "bScrollInfinite":true,
           "sAjaxSource": ApiUrl(),
           "aoColumns":[       // Maps <th> elements in html to JSON data
               {"mData": "id"},
               {"mData": "description","sClass" : "read_only"},
               {"mData": "serial"},
               {"mData": "daily"}
             ],
           "aoColumnDefs":[
               {"sName":"id","bVisible":false, "aTargets": [0]},
               {"sWidth": "55%","aTargets": [1]},
               {"sName":"serial","bVisible":false, "aTargets": [2]},
               {"sName":"daily","aTargets":[3]}
             ],
            "fnServerData": function ( sSource, aoData, fnCallback ) {
                   $.getJSON( sSource, aoData, function (json) { 
                       map = {};
                       map["aaData"] = json;
                       fnCallback(map);
                   });
            },
            "fnRowCallback": function(nRow, aData, iDisplayIndex ){
                $(nRow).attr("id",aData["id"]); // Change row ID attribute to match database row id
                return nRow;
            }
        }).makeEditable({
            sUpdateURL: getApiUrl() + "cpu/save",
            sReadOnlyCellClass: "read_only",
            ajaxoptions:{
                dataType: "json",
                type: 'POST'
            }
        });

这是我发送 POST 时返回的数据(从 firebug 读取)

columnId    3
columnName  daily
columnPosition  2
id  24
rowId   0
value   50

我想做的是初始化一个对象并发回我想要的所有数据。 ID/Serial/Hourly(新值)

我对 jquery、javascript 的了解还不够,不知道从哪里开始修改。

有什么建议吗?

最佳答案

像这样编辑您的 makeEditable:

makeEditable(
{
  sUpdateURL: function(value, settings)
  {
    var sentObject = {}
    var rowId = oTable.fnGetPosition(this)[0];
    var columnPosition = oTable.fnGetPosition(this)[1];
    var columnId = oTable.fnGetPosition(this)[2];
    var sColumnTitle = oTable.fnSettings().aoColumns[columnId].sTitle; 
    sentObject["rowid"]= rowId
    sentObject["columnpos"]= columnPosition
    sentObject["columnId"]= columnId
    sentObject["sColumnName"]= sColumnTitle
    sentObject["valueOfCell"]=value
    sentObject["Serial"]="serialnumber"
    sentObject["Hourly"]="somevalue"
    $.ajax({
    type: "POST",
    url: "url",
    data: "sentObj="+JSON.stringify(sentObject)
    })
    return value;
  },
  sSuccessResponse: "IGNORE"
 }
);

这就像一个自己定制的用于更新单元格的ajax请求。

关于java - 试图找出如何将对象从 jEditable 数据表插件发送到我的 Java Servlet,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13316209/

相关文章:

java - Maven SonarQube 多模块

javascript - 如何使用 JavaScript 隐藏 Android 键盘?

java - 通过套接字在Java桌面应用程序和Java浏览器小程序之间建立通信

javascript - Delphi、EmbeddedWB/TWebbrowser - jQuery 未执行

jQuery AJAX post 不工作,但适用于curl

wordpress - 尝试使用 Oauth 1.0 在 Wordpress API 中创建帖子时出现 401

用于选择一个或两个的 JAVA UI 元素

java - 为什么我在优先级队列上调用 poll() 或 remove() 后陷入无限循环? java

java - return 语句应该在 Java 中使用泛型吗?

javascript - 何时适合使用 get 与 post 请求