javascript - 使用 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 上运行之前没有完成加载。希望你能帮忙。
解决方案
解决了:
我所要做的就是用输入替换 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; ?>">
这解决了问题。
推荐阅读
- swift - 将距离测量格式设置为公里或英制英里,而不是公制英里
- java - 使用 Gradle 导入项目 Spring Boot 时出现错误:无法应用插件“org.springframework.boot”
- hyperledger-fabric - Hyperledger 结构 - 无法创建新连接:超出上下文截止日期
- r - 使用 sjPlot 为拟合模型统计构建迭代表的策略
- git - GIT 忽略 CentOS 中的代理配置
- javascript - 如何使切换隐藏页面上的所有组件,以便在 react-native 中只有背景图像可见?我
- opengl - 我有一个只有 1 盏灯的公式,但我需要 2 盏灯
- google-apps-script - 找不到在 Google Workspace Marketplace 之前编写的 Google Apps 脚本
- python - Pyinstaller 应用程序关闭并在 30 秒后再次打开
- rust - 在另一个特征上添加一个特征的迭代器