【问题标题】:fill textbox with variable from external URL without submiting form使用来自外部 URL 的变量填充文本框而不提交表单
【发布时间】:2017-05-10 22:12:14
【问题描述】:

我有一个服务器提供的网页。我有大约 20 个不同的客户访问这个网页。该网页是一个简单的表单,其中向每个客户显示一个文本框。客户端负责提供输入,通常是通过键盘、麦克风、条形码扫描仪等输入设备。我有一个不同的设备,它不能直接将其值输入到文本框,而只能通过变量值。服务器正在使用 WAMP,每个客户端都安装了 LAMP。

我使用 ajax 调用从服务器创建了对该输入的请求,但这并不理想,我不想给服务器施加太大压力。我只希望变量在客户端加载时自动发送到网页。我听说可以使用 cURL 来完成,但我的问题是实现这一目标的最佳方法是什么以及如何做到这一点?在负载时将变量从 shell 发送到 Web 浏览器会更容易吗?我正在寻找一种安全但易于实施的方法。这就是我的尝试:(虽然我对如何处理这个问题感到困惑)

服务器:(WAMP 服务器/server.php)

<?php

if(isset($POST)){
    $_POST['var'];
}

?>

<html>
<body>
<form action="" method="post">                                                                                              
    <input type="text" name='var' value="<?php echo "$var"; ?>"/>
</form>
</body>
</html>

客户端:(LAMP 服务器/inputProv.php)

<?php

$var = "Hello";
echo $var;

?>

客户端:(LAMP 服务器/send.php)

<script>
    $(document).ready(function(){
        $.get("http://localhost/inputProv.php", function(response) {
            $("input[name=var]").val(response):
        });
    });
</script>

【问题讨论】:

  • 什么是$_POST(input)$_POST 是一个数组,而不是一个函数。
  • @Barmar 我应该回显$input 吗?
  • 我不知道。目前尚不清楚您要使用该变量做什么。
  • @Barmar 我想在客户端机器上加载表单时在文本框中显示它的值。
  • 该变量与将脚本结果放入&lt;input&gt; 字段的问题有何关系?

标签: javascript php jquery ajax curl


【解决方案1】:

inputProv.php 应该只是回显变量。

<?php
$var = "Hello";
echo $var;

在您的 Javascript 中,您使用 AJAX 来填写此脚本的输入。

$(document).ready(function() {
    $.get("http://localhost/inputProv.php", function(response) {
        $("input[name=var]").val(response);
    });
});

【讨论】:

  • 这还不错,但是会有 20 个不同的 IP 地址,我需要获取每个地址的内容吗?如果我不知道客户端的 IP 怎么办?只有客户端知道服务器的地址是什么?
  • 如果只有客户端知道,那么它需要进行AJAX请求,创建页面时不能在服务器端进行。
  • 客户端能否直接向LAMP服务器发起AJAX请求,这样就不用加载WAMP服务器了?
  • @Barman 主服务器是 WAMP,每个客户端都应向该服务器上的网页提供输入。如果 LAMP 在稍后阶段将数据发送到 WAMP,那么是的。
  • 我已更改答案以显示如何使用 AJAX 获取它。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-07-10
  • 1970-01-01
  • 2021-10-17
相关资源
最近更新 更多