javascript - 如何使用从 javascript 传递的变量加载 PHP 页面

标签 javascript php jquery ajax

我是 PHP 新手,正在尝试找出一些我确信非常基本的东西。我想要做的是在 javascript 中生成变量并将它们传递到 PHP 页面,然后加载并显示。问题是,我似乎能够将变量发布到 PHP 页面并加载 PHP 页面,但无法使用我发布的变量加载 PHP 页面。

这是我的代码示例: 索引.php

...
<script language="javascript">
      function passToPHP(){
          $.ajax({
              type: "POST",
              url: "/TraceExperiment/TraceExperiment.php",
              data: {
                  varToPass: "foo"
              },
              success: function(){
                 window.location.href="/TraceExperiment/TraceExperiment.php";
              }
          })
      }
  </script>
<input type="button", value="displayPHP", onclick="passToPHP()"></input>

TraceExperiment.php

<?php
  $tempVar = $_POST["varToPass"];
  echo("hello" . $tempVar);
  print_r($_POST);
?>

当我点击displayPHP时发生的事情是ajax POST成功并且 TraceExperiment.php 加载得很好(它实际上有一大堆其他 html、php 等代码,可以很好地加载和显示,但为了简单起见,我排除了它),但 $_POST 数组似乎是空的。 即当我尝试回显并打印 POST 数组和变量时最终显示的内容是:

Notice: Undefined index: varToPass in C:\xampp\htdocs\TraceExperiment\TraceExperiment.php on line 3 helloArray ( )

任何解决此问题的帮助将不胜感激。最终,我只是在寻找一种显示使用从 javascript 文件传递​​的变量的 PHP 页面的方法。

最佳答案

您可以在 JavaScript 中动态创建表单并提交它,而不是调用 ajax 并刷新页面:

<script language="javascript">
      function passToPHP(){
          $('<form action="/TraceExperiment/TraceExperiment.php" method="POST"><input type="hidden" name="varToPass" value="foo" /></form>').appendTo('body').submit();
      }
  </script>
<input type="button" value="displayPHP" onclick="passToPHP()"></input>

关于javascript - 如何使用从 javascript 传递的变量加载 PHP 页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33560669/

相关文章:

javascript - 如何查找数组中指定字符串的索引?

php - 在 MySQL 中,您能否将一列中的值字符串转换为另一列中的相应值?

php - 如何根据该 IP 每秒或每分钟的连接数拒绝对该 IP 的服务?

javascript - Jquery Ajax 回调不起作用调用成功和失败

javascript - Highcharts - 无法运行示例

javascript - 如何动画莫里斯条形图?

javascript - 谷歌地图 Spiderfying 标记和添加监听器

javascript - 如何使我的 .css 和 .js 文件与 Android 上的 WebView 中加载的 html 代码一起使用

javascript - 在 Android Webview 中下载文件

php - 如何使用 .htaccess 从非安全版本的站点重定向到安全版本的站点