2

私は3つのファイルを持っています:

index.php ajax.php function.php

index.phpグローバル変数を fromからfunction.phpviaに渡したいajax.php。したがって、アラート メッセージはindex.php「2」である必要があります。function.phpしかし、実際には、は を知らないため、結果は「1」です$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;
?>

関数.php

<?php
function process_my_variable($new_variable) {
    global $global_variable;
    $result = $global_variable + $new_variable;

    return $result;
}
?>

私の実際のプロジェクトにはこのような多くの変数があり、セキュリティのために表示されるべきではないため、グローバル変数をajax呼び出しに渡したくありません。

これを行う方法?

4

2 に答える 2

4
 $.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;
?>
于 2013-11-08T09:41:28.913 に答える
3

index.phpajax.php(付属のfunction.php) は別のプログラムです。それらは変数を共有しません。

両方のプログラムが取得できる場所 (SESSION など) にデータを格納するか、データをindex.phpブラウザーに渡してからajax.php、Ajax 要求のクエリ文字列または POST 本文でデータを送信する必要があります。

于 2013-11-08T09:43:02.893 に答える