通过Ajax更新数据

时间:2016-12-27 09:46:23

标签: javascript php jquery json ajax

我在href上有以下代码点击我调用一个javascript代码,其中调用ajax,以json格式返回数组$ss的值。现在我想知道如何通过ajax更新$ ss的值。

 <div class="white" id="white" style="display:none">   
        <?php
            foreach ($ss as $key => $value){
        ?>
        <a  href='javascript:void(0);'  onclick='callAjax('<?php echo $key; ?>')'>
        <?php   
           echo $value;
        ?>
        </a>
        <?php
           }
        ?>

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
    <script>
        var res;
        function on(id){
            //alert('hi '+id);
            $.ajax({
                url: 'ajax.php', //This is the current doc
                type: "GET",
                data: ({a: id }),
                success: function(data){
                    res = data;
                    //alert(res);
                    document.write(res);
                }
            }); 

        }

    </script>

ajax.php文件返回$ ss的数组值。 我理解如何通过ajax更新普通div的数据,但遇到问题,将ajax调用返回的数据传递给更新数组值。

3 个答案:

答案 0 :(得分:1)

1 - 让我们明白javascript不会替换php变量的内容。
2 - 即使这样你也无法重新生成html你需要这种方式。
3 - 收到变量后你需要更新html。

PS:当您收到server来电时,您可以更新ajax方面的变量,这也需要一些要求(变量是全局并可在php文件中访问... ),但从我所理解的你想用javascript改变它是不可能的。

答案 1 :(得分:0)

你的ajax必须这样......

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
    <script>
        var res;
        function on(id){
            //alert('hi '+id);
            $.ajax({
                url: 'ajax.php', //This is the current doc
                type: "GET",
                data: {a: id },
                success: function(data){
                    res = data;
                    //alert(res);
                    document.write(res);
                }
            }); 

        }

    </script>

答案 2 :(得分:0)

我认为你不能。

PHP代码在服务器端运行,jQuery在客户端运行。从jQuery更新PHP变量的方法是让一个jQuery调用提交给PHP页面,并让PHP查找它。

$ss = 'ss value';  
if exists($_POST['ss']) {
   $ss = $_POST['ss'];
}