【问题标题】:Passing variable from JS to PHP within the same page [closed]在同一页面内将变量从 JS 传递到 PHP [关闭]
【发布时间】:2014-05-08 12:38:14
【问题描述】:

我知道这已经回答了很多次,但我正在寻找的是在同一页面内传递变量。我知道 PHP 是服务器端脚本,而 JS 是客户端,因此当页面加载时,它会在 JS 之前加载 PHP,因此不可能这样做。

我正在寻找一种替代方法来执行我的 JS 任务,即在 ?在地址栏中 (//localhost/Task/delete.php?ID=1)。或者,有一种方法可以将变量传递给 PHP,因为该值将用于执行 SQL 查询。

谢谢

<script language="javascript" type="text/javascript" >
var url = window.location.href;
var params = url.split('?ID=');
var fdf = (params[1])
alert(fdf);

</script>

<?php
$random = $_GET["fdf"];

echo $random;
?>

【问题讨论】:

  • 您似乎已经在 J​​S 中使用地址栏中的数据了。我不明白问题出在哪里。
  • PHP 和 JS 不共享 "Page",因此不存在 "JS To PHP inside the same page"。您很可能正在寻找 AJAX。
  • 我假设您正在寻找 Ajax 解决方案。
  • 问题是要求从JS中的地址栏读取数据。根本不需要涉及 PHP(或 HTTP 以及 Ajax)。
  • 或者如果它的目标是用 PHP 读取它,那么根本不需要涉及 JavaScript。

标签: javascript php


【解决方案1】:

HTML 代码

<div id="content"></div>

Javascript 代码

$(document).ready(function(){
var url = window.location.href;
var params = url.split('?ID=');
var id = (params[1]);
        $.ajax({
        type:"POST",
        url:"page.php",
        data:{id:id},
        success:function(result){
        $("#content").html(result);
        }
        });
   });

PHP 代码: page.php

<?php
$random = $_POST["id"];
echo $random;
?>

完整的一页代码: demo.php

注意:此页面的 URL 必须是 demo.php?ID=someValue

<!DOCTYPE html>
<html>
<head>
<title>Demo</title>
<script src="js/jquery.js"></script>
<script>
$(document).ready(function(){
var url = window.location.href;
var params = url.split('?ID=');
var id = (params[1]);
     $("#submit").click(function(){ $.ajax({
        type:"POST",
        url:"demo.php",
        data:{id:id},
        success:function(result){
        $("#content").html(result);
        $("#submit").hide();
        }
        });
        });
   });
   </script>
</head>
<body>
<button id="submit">Click Me</button>
<div id="content"></div>

</body>
</html>
<?php
$random = $_POST["id"];
echo $random;
?>

注意:不要忘记包含jquery库文件

【讨论】:

  • 向 PHP 发出请求(包括查询字符串)完全没有意义,让 PHP 向浏览器发送一些 JavaScript,让 JavaScript 读取查询字符串(已经发送到 PHP)并发送回到 PHP。
  • @Quentin 请检查更新后的代码以获取完整的一页代码
  • @mrdeveloper 感谢您解决我的问题 mrdeveloper。非常感谢您的帮助。干杯
【解决方案2】:

尽管其中包含所有 JS,但问题似乎是在问:

给定一个像//localhost/Task/delete.php?ID=1 这样的URL,我如何读取delete.phpID 的值?

答案是:

$_GET['ID']

手册的相关部分是here

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-12-26
    • 1970-01-01
    • 2021-07-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多