首页 > 解决方案 > 使用 PHP $_GET[''] 和 Ajax 传递变量 OnLoad

问题描述

所以我有一个正在加载此页面的 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 上运行之前没有完成加载。希望你能帮忙。

标签: javascriptphpjqueryhtmlajax

解决方案


解决了:

我所要做的就是用输入替换 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; ?>">

这解决了问题。


推荐阅读