jQuery $ .ajax()发布-Java Servlet中的数据

发布于 2021-01-31 22:19:39

我想将数据发送到Java Servlet进行处理。数据将具有可变长度,并且在键/值对中:

{ A1984 : 1, A9873 : 5, A1674 : 2, A8724 : 1, A3574 : 3, A1165 : 5 }

数据不需要以这种方式格式化,这就是我现在的方式。

var saveData = $.ajax({
      type: "POST",
      url: "someaction.do?action=saveData",
      data: myDataVar.toString(),
      dataType: "text",
      success: function(resultData){
          alert("Save Complete");
      }
});
saveData.error(function() { alert("Something went wrong"); });

$.ajax()功能工作正常,因为我确实收到“保存完成”的警报。我的困境是在servlet上。如何检索数据?我试图像这样使用HashMap …

HashMap hm = new HashMap();
hm.putAll(request.getParameterMap());

…但是hm结果为空,我猜这意味着.getParameterMap()找不到键/值对。我要去哪里错了或者我想念什么?

关注者
0
被浏览
320
1 个回答
  • 面试哥
    面试哥 2021-01-31
    为面试而生,有面试问题,就找面试哥。

    您不需要字符串,而是确实需要键值对的JS映射。例如,更改:

     data: myDataVar.toString(),
    

    与:

    var myKeyVals = { A1984 : 1, A9873 : 5, A1674 : 2, A8724 : 1, A3574 : 3, A1165 : 5 }
    
    
    
    var saveData = $.ajax({
          type: 'POST',
          url: "someaction.do?action=saveData",
          data: myKeyVals,
          dataType: "text",
          success: function(resultData) { alert("Save Complete") }
    });
    saveData.error(function() { alert("Something went wrong"); });
    

    jQuery理解这样的键值对,但不理解大字符串。它只是将其作为字符串传递。

    更新: 代码已修复。



知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看