繁体   English   中英

使用 PHP $_GET[''] 和 Ajax 传递 OnLoad 变量

[英]Passing Variables OnLoad using PHP $_GET[''] With Ajax

所以我有一个正在加载这个页面的 HTML、PHP 和 ajax 应用程序:ViewOrderReports.php?order_number=77409362。 我试图在加载时将 order_number 传递给 report_action.php。

在 ViewOrderReports.php?order_number=77409362 页面上,我有以下代码来获取订单号:

<?Php
  if(isset($_GET["order_number"]))
  {
       $order_number=addslashes(strip_tags($_GET["order_number"]));
       echo $order_number;
  }
?>
<div id="order_number" style="display: none;" value="<?php echo $order_number; ?>"></div>

然后在页面中的 ajax javascript 部分我有这个代码:

<script type="text/javascript">

  $(document).ready(function(){

  load_data();

  $('#action').val("Insert");

  function load_data(page)
 {
       var action = "Load";
       var order_number = $("#order_number").val();

  $.ajax({
    url:"phptables/report_action.php",
     method:"POST",
    data:{action:action, order_number:order_number, page:page},
    success:function(data)
  {
   $('#order_table').html(data);
  alert('Current Order Number' + order_number);
  }
   });
  }

 </script>

最后,接收订单号的 PHP 如下。

<?Php

  if(isset($_POST["action"]) == "Load"&&isset($_POST["order_number"]))
  {

      echo "Do my actions";  

  }
?>

问题是订单号没有传递给接收 PHP。 我尝试在发送页面上的 ajax 代码上进行调试,但似乎 $_GET 和 div 部分在 ajax onload 在 ViewOrderReports.php?order_number=77409362 上运行之前没有完成加载。 希望你能帮忙。

解决了:

我所要做的就是用输入替换 div 元素:

所以 :

<div id="order_number" style="display: none;" value="<?php echo $order_number; ?>"> 
</div>

变成:

<input id="order_number" type="hidden" value="<?php echo $order_number; ?>">

这解决了问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM