我有三个文件:
index.php
ajax.php
function.php
我想通过ajax.php
将全局变量从index.php
传递到function.php
。
所以index.php
中的警报消息应该是“2”。但事实上,结果是“1”,因为 function.php
不知道 $global_variable
。
这是代码:
index.php
<?php
$global_variable = 1;
?>
<script src="http://code.jquery.com/jquery-1.10.2.min.js"></script>
<script>
$.ajax({
type: "POST",
url: 'ajax.php',
success: function(data) {
alert(data);
}
});
</script>
ajax.php
<?php
include 'function.php';
$result = process_my_variable(1);
echo $result;
?>
function.php
<?php
function process_my_variable($new_variable) {
global $global_variable;
$result = $global_variable + $new_variable;
return $result;
}
?>
我不想将全局变量传递给ajax调用,因为我的实际项目有很多这样的变量,并且出于安全原因它们不应该显示。
如何做到这一点?
最佳答案
$.ajax({
type: "POST",
url: 'ajax.php',
data:{
global_variable:<?php echo $global_variable?>
},
success: function(data) {
alert(data);
}
});
您可以将其与数据对象一起发送到ajax.php页面
在 ajax.php 页面,您可以通过以下方式获取它:
<?php
include 'function.php';
$global_var=$_POST['global_variable'];
$result = process_my_variable($global_var);
echo $result;
?>
关于javascript - 如何通过ajax传递全局变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19855769/