【问题标题】:Passing a javascript variable in Ajax to a Java class将 Ajax 中的 javascript 变量传递给 Java 类
【发布时间】:2016-01-09 19:23:14
【问题描述】:

我将一个 javscript 变量传递给一个 java 类。我不确定这是否是一种正确的方法,如果是,我的语法是否正确,如何确保变量已成功传递给我的 java 类?

var key = record.getKey();
$.ajax({
    type: "POST",
    url: "apps/APP/src/Test.java",
    data: {id : key},
    success: function(msg){
        alert( "Data Saved: " + msg );
    }
});

【问题讨论】:

  • 您是否将“变量”发送到用 Java 编写的 Web 应用程序?如果您尝试通过 Ajax 将某些内容发送到 Java 文件(我认为正是这种情况),那么您做错了。
  • @juliobetta 我该怎么做?
  • 首先,这是一个用 Java 编写的 Web 应用程序吗?如果没有,应该是!
  • 让我解释一下。只能对基于 Web 的应用程序进行 Ajax 调用。没有办法向普通的 java 类发送一些东西。这是关于 ajax 如何工作的详尽解释https://en.wikipedia.org/wiki/Ajax_(programming)
  • 基于 Java 的 Web 应用程序使用什么 api?看起来您正在尝试发布到源文件,但这是行不通的。这个源文件使用什么 api,它是如何/在哪里运行的?它是 servlet,是否在 servlet 容器上运行?

标签: javascript java ajax


【解决方案1】:

一个简单的 Java 类不能处理 Ajax 请求(或任何与此相关的 Web 请求)你应该有一个 Java Web 应用程序/动态 Web 应用程序,要么用 vanilla Servlets and JSP 编写,要么使用像 @ 这样的任何框架987654323@ 处理 Web 请求。此应用程序必须部署在 Servlet Container 上,例如 TomcatJetty

This 教程应该可以帮助您入门,因为它太宽泛,无法在 SO 答案中涵盖。如果您遇到任何问题,请返回一个新问题。

根据您的评论更新:

由于您有一个动态 Web 应用程序,它应该有一个 Servlet,并且由于您的 Ajax 请求使用 POST 方法,因此覆盖 doPost() 并从请求对象中获取数据。 注意:仅当您在后端更改某些数据时才使用 POST,否则使用 GET。

请看下面的代码。

   public class MyServlet extends HttpServlet {
      public void doPost(HttpServletRequest request,HttpServletResponse response) throws ServletException, IOException
          {
              request.getParameter("id"); //use the key of the json data you need
          }

    }

【讨论】:

  • 是部署在tomcat上的动态web项目
  • 所以你应该有一个需要来自 Javascript 的数据的 servlet,对吧?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-07-23
  • 2017-10-07
  • 2014-04-15
  • 2011-09-02
  • 2013-03-05
  • 1970-01-01
  • 2012-11-19
相关资源
最近更新 更多