【问题标题】:How to send parameter from JSP to servlet using Ajax call?如何使用 Ajax 调用将参数从 JSP 发送到 servlet?
【发布时间】:2013-12-13 17:08:54
【问题描述】:

我需要通过 ajax 调用向 servlet 发送参数,我正在尝试使用此代码,但它不起作用。我正在发布我的代码以及我将其捕获到 Servlet 的方式...

 function loadJson() {
   $.ajax({
     url: "JsonServlet",
     type: "post",
     dataType: "json",
     data: {
       "value": "2"
     },
     error: function () {
       alert("error occured!!!");
     },
     success: function (data) {
       alert(data.value);
     }
   });
 }

这里是我调用函数的地方

<form enctype="application/json" method="post">
  <input type="submit" value="submit" onclick="loadJson()" />
</form>

在 servlet 中我使用的是字符串 value=request.getParameter("value");

我正在使用&lt;script src="http://code.jquery.com/jquery-latest.min.js"&gt;&lt;/script&gt; jQuery 文件有人请帮忙

【问题讨论】:

  • 您正在访问您的 servlet 吗?究竟是什么问题?是在浏览器上,还是在服务器上。你有日志或错误吗?您是否在服务器(或浏览器)上使用调试器查看过?
  • 请不要忘记添加“?”提问!有些人在页面中搜索“?”如果“问题”中不存在,则直接转到下一个(实际)问题。另请注意,“jsp page”扩展为“java server page page”,即添加“page”是多余的。
  • 没有enctype 属性的行为是否相同?您还需要停止提交按钮的默认处理。
  • @DaveNewton 是的,它是一样的
  • 网络上发送了什么?

标签: java jquery ajax jsp servlets


【解决方案1】:

删除给定数据中的引号。您是否收到任何异常/错误。使用 chrome 开发人员工具,您可以在其中评估您的代码。它将提供所有详细信息。

如果您期望 json 对象,您可以在提供数据时使用 JSON.stringify。

【讨论】:

  • 我已删除引号但仍有问题
  • 尝试设置 contentType: "application/json;",希望你使用正确的字符集。
  • $.ajax({ type: "POST", url: "any URL", data: JSON.stringify({ }), contentType: "application/json; charset=utf-8",数据类型:“json”,.....
  • 我要发送的值在哪里?
  • 你可以把它放在数据中,JSON.stringify。用于将 JavaScript 数据结构转换为 JSON 文本
猜你喜欢
  • 2013-05-16
  • 1970-01-01
  • 2014-09-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-08-20
  • 1970-01-01
  • 2013-08-13
相关资源
最近更新 更多