【问题标题】:How can I pass a JavaScript variable to a Java program?如何将 JavaScript 变量传递给 Java 程序?
【发布时间】:2017-03-20 01:15:35
【问题描述】:

基本上,我要问的问题与this question相似。然而,这些 Q/A 对我来说没有什么价值。

首先,有几个人说不可能将值从客户端语言传递到服务器端语言。但是,我知道这是不正确的,因为我知道可以将 javascritpt(客户端)变量传递给 php(服务器端)变量。

其次,我需要这样做是基于尝试从第三方网站检索数据,由我的程序处理,它不会尝试将此数据返回到原始网页。相反,它将返回到不同的位置。所以,假设我正在使用 javascript 从他们的网页中检索所需的数据并将其存储在一个 Javascript 变量中,比如var myData = *my required data*,并且我希望创建一个接受这些数据作为输入的 Java 程序,这将如何完成?

【问题讨论】:

  • Firstly, there are several people saying that it is impossible to pass a value from a clientside language to a serverside language. 好吧,这不可能的。您可以做的是“旧式”并提交表单或使用 AJAX 请求联系服务器。然而,这些都不是 JS 到服务器端,而是简单的通信。是的,这也是它与 PHP 一起工作的方式。
  • 使用ajax发送数据
  • 您是否希望将数据从您自己的客户端代码传递到您自己的服务器端代码?或者您是否尝试从其他外部网站抓取数据?
  • @David 从外部服务器检索数据
  • @DCooper:理想情况下,该服务提供一个 API,在这种情况下您应该与之集成。否则,如果数据在页面上,您将通过代码发出 HTTP 请求以获取该页面并使用 DOM 解析器解析出该数据。如果该页面最初不包含该数据,而是具有生成该数据的客户端代码,那么您正在寻找的就是所谓的“无头浏览器”。您需要一些 Java 库,它不仅会获取页面,还会执行其中的 JavaScript 代码以更新其中的 DOM。然后你会解析来自 DOM 的值。

标签: javascript java


【解决方案1】:

您始终可以将客户端信息发送到服务器。这也适用于 Java。

您可以发出 AJAX 请求并通过它传递您的变量。

$.ajax({
    type: 'post',
    url: 'myserverurl.ajx',
    data: 'data=' + variable1 + '&data2=' + variable2
});

您也可以这样做,而不必进行异步调用。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-10-07
    • 2015-03-21
    • 1970-01-01
    • 1970-01-01
    • 2019-07-07
    • 1970-01-01
    • 2020-01-11
    • 2017-04-29
    相关资源
    最近更新 更多