【问题标题】:How to get data from my Server to my JSP using javascript?如何使用 javascript 从我的服务器获取数据到我的 JSP?
【发布时间】:2014-01-29 07:07:20
【问题描述】:

我正在使用 javascript 和 JSP 开发地图创建网络应用程序。在某些时候,我希望我的用户能够将他们创建的地图保存到我的数据库中,但我必须检查地图的名称是否已经存在。 我需要这样做而不离开页面本身,否则我会丢失存储在该 JSP 中的地图。

所以问题是:如何在不更改页面/网址的情况下从服务器获得响应?

【问题讨论】:

  • 你可以尝试使用Ajax调用
  • 您可能需要 Ajax。您可以通过 JQuery api.jquery.com/jquery.ajax 使用它来创建一个适用于所有浏览器的代码。

标签: java javascript jsp


【解决方案1】:

只是为了扩展 Suresh 的答案。 (还不能评论)

在您的 jsp 上,您将添加一个脚本,例如

<script>
  $(document).ready(function(){
     $.ajax({
      url: "/YOUR_DOMAIN/SERVLET",
      type: "POST",
      data : {json: "hello" }, //in servlet use request.getParameters("json")
      dataType : 'json',
      success: function(data) {}, //data holds {success:true} - see below
      error: errorFunction
     }); 
  })
</script>

如果您从 servlet 发送/接收 json,则需要查看解析器 (http://www.json.org/java)。

您可以像这样从 servlet 返回数据。

response.setContentType("text/plain"); 
response.setCharacterEncoding("UTF-8");
response.getWriter().print("{success: true}");

【讨论】:

  • 好+1。这就是你所需要的。注意:这里使用的是 Jquery。确保您正在添加 jquery 的库文件。
  • 您输入 print 的文字字符串应该是 "{\"success\": true}" 否则它会抛出一个解析错误而不是触发成功,如此处所述stackoverflow.com/a/15699216/2995881
【解决方案2】:

所以问题是:如何在不更改页面/网址的情况下从服务器获得响应?

这是使用 Asynchronous call AKA Ajax 的完美候选。

学习 AJAX。

http://api.jquery.com/jquery.ajax/

注意:

请记住,不要调用 jsp 并在此处为 Ajax 编写 servlet。 Jsp 的目的不是为 Ajax 请求提供服务。

How to use Servlets and Ajax?

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-12-14
    • 2013-08-06
    • 2017-12-26
    • 1970-01-01
    • 2014-10-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多