当前位置: 首页 > 面试题库 >

如何在Servlet中读取Ajax发送的json

能文华
2023-03-14
问题内容

我是java的新手,我为这个问题苦苦挣扎了2天,最后决定在这里提问。

我正在尝试读取jQuery发送的数据,因此可以在servlet中使用它

jQuery的

var test = [
    {pv: 1000, bv: 2000, mp: 3000, cp: 5000},
    {pv: 2500, bv: 3500, mp: 2000, cp: 4444}
];

$.ajax({
    type: 'post',
    url: 'masterpaket',
    dataType: 'JSON',
    data: 'loadProds=1&'+test, //NB: request.getParameter("loadProds") only return 1, i need to read value of var test
    success: function(data) {

    },
    error: function(data) {
        alert('fail');
    }
});

Servlet

protected void doPost(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {
   if (request.getParameter("loadProds") != null) {
      //how do i can get the value of pv, bv, mp ,cp
   }
}

我非常感谢您可以提供的任何帮助。


问题答案:

除非正确发送,否则将无法在服务器上对其进行解析:

$.ajax({
    type: 'get', // it's easier to read GET request parameters
    url: 'masterpaket',
    dataType: 'JSON',
    data: { 
      loadProds: 1,
      test: JSON.stringify(test) // look here!
    },
    success: function(data) {

    },
    error: function(data) {
        alert('fail');
    }
});

您必须使用JSON.stringifyJSON字符串来发送JavaScript对象。

然后在服务器上:

String json = request.getParameter("test");

您可以json手动或使用任何库来解析字符串(我建议使用gson)。



 类似资料:
  • 问题内容: 我在网上搜索了此主题,但找不到有效的示例。我会很高兴有人可以给我帮助。 这是我测试的。 在塞夫莱特 我在所有事情上都变得空虚 问题答案: 排序答案是此数据隐藏在请求中。 以下servlet是一个演示如何使用它的示例(我正在JBoss 7.1.1上运行它): 符合要求: 输出为: (注意:不起作用。打印在第4行的地图包含通常可以使用访问的所有数据。请注意嵌套对象符号→ )。 稍微与您的问

  • 我的android仿真器正在向PHP脚本发送请求,以访问MySQL数据。我通过给sql查询赋值来检查PHP脚本 get_details.php if($tag==…)块和if(isset($\u POST['pid'])块正在执行,但当我将其用于查询时,我无法从数据库中获取值 主要活动。JAVA JsonParser。JAVA 用户函数。JAVA 如果要在php中使用json_decode(),我

  • 在POST正文中发送jpg图像,使用postman这样做: 用图像、文本和相似性来阅读。py: 哪些错误与 剩下的代码是image_similarity_app。py: 并以启动服务

  • 问题内容: 我在网络上搜索了此主题,但找不到有效的示例。我会很高兴有人可以给我帮助。 这是我测试的。 在塞夫莱特 我在所有事情上都变得空虚。 问题答案: 排序答案是此数据隐藏在请求中。 以下servlet是一个演示如何使用它的示例(我正在JBoss 7.1.1上运行它): 符合要求: 输出为: (注意:不起作用。打印在第4行的地图包含通常可以使用访问的所有数据。请注意嵌套对象符号→ )。 与您的问

  • https://github.com/googleCloudplatform/java-docs-samples/tree/master/appengine/firebase-tictactoe 错误:

  • 问题内容: 编辑:整个问题原来是网络问题,但是如果您看到有关如何优化流程的任何想法,我仍然会感激不尽。 我对Servlets还是很陌生,在不久的将来,我遇到了一个与性能有关的问题。我正在尝试通过Google Chrome浏览器中的XHR对象发送视频文件。视频文件存储在Blob对象中。我在JavaScript脚本中使用了此功能: 它运行良好,因为Blob到达Servlet,在这里我使用以下代码对其进