有些用户配置文件页面按照 get_file_content 原理工作。每次生成时。我不想触及网站的结构,并决定使用预加载器来阻止 ui。
我想通了,但是问题出现了。该页面是根据通过 $id = $_GET['id']
(player.php?id=123
) 的请求生成的。我想通过预加载器使用的脚本位于另一个文件 (stats.php) 中,因为预加载器通过 AJAX Post + $(document).ready(function();
,$id
变量无法从player.php
传递到stats.php
)在这种情况下该怎么办?
Js输出+预加载:
function show_stats() {
jQuery.ajax({
type:"post",
url: "stats.php",
beforeSend: function() {
$('#stats-block').block({
message: '<div class="la-ball-pulse la-dark"><div></div><div></div><div></div></div>',
css: {
border: 'none',
backgroundColor:'transparent'
}
});
},
success: function(data) {
$('.chatonline').show();
$('#stats-block').unblock();
$('#stats-moders').html(data);
},
});
}
最佳答案
发送$.ajax()
的data:
选项中的变量
function show_stats() {
jQuery.ajax({
type:"post",
url: "stats.php",
data: { id: <?php echo $id; ?> },
beforeSend: function() {
$('#stats-block').block({
message: '<div class="la-ball-pulse la-dark"><div></div><div></div><div></div></div>',
css: {
border: 'none',
backgroundColor:'transparent'
}
});
},
success: function(data) {
$('.chatonline').show();
$('#stats-block').unblock();
$('#stats-moders').html(data);
},
});
}
stats.php
然后可以从 $_POST['id']
获取 ID。
另一个选项是设置 session 变量。 player.php
可以获取$_SESSION['id'] = $id;
,那么stats.php
可以读取$_SESSION[ 'id']
。
如果需要确保两个脚本中的ID相同,则 session 变量更好。用户可以轻松地更改 Javascript 中的 ID。
如果 $id
可能不是简单数字,您应该对其进行编码以确保语法正确:
data: { id: <?php echo json_encode($id); ?> },
关于javascript - 将变量 $ 发送到上传的 php 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52086831/