javascript - JQuery $.ajax() post - java servlet 中的数据

标签 javascript jquery ajax hashmap

我想将数据发送到 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() 没有找到键/值对。我哪里出错了或者我错过了什么?

最佳答案

您不需要字符串,您真正想要的是键值对的 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 像那样理解键值对,它不理解大字符串。它只是将其作为字符串传递。

更新:代码已修复。

关于javascript - JQuery $.ajax() post - java servlet 中的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10214723/

相关文章:

javascript - 检索 HTML 元素的位置 (X,Y)

javascript - Yahoo Weather、Yahoo GeoPlant、Google Weather 或其他使用 javascript 连接的 API?

javascript - 在 JavaScript 中重新加载页面

javascript - 在for循环javascript之外访问数组变量

javascript - 在 JavaScript 中更改图像的位置

javascript - 使用 Jquery 部分搜索 TABLE 中的单词

ajax - 使用 SSL 通过 NginX 安装 AjaxTerm

javascript - 使用 jQuery 延迟或 promise 等待多个 $.post 调用完成

javascript - CSS 内边框?

javascript - AngularJS - 显示/隐藏根作用域中的元素