繁体   English   中英

通过Ajax更新数据

[英]Update data through 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调用返回的数据以更新数组值的问题。

1-让我们很清楚,javascript不会替换php变量的内容。
2-即使是这样,您也无法通过这种方式重新生成HTML。
3-收到变量后,您需要更新html。

PS:当然,当您收到该ajax调用时,可以在server端更新该变量,
这也需要一些要求( 变量是全局的,可以在php文件中访问... ),
但是据我了解,您想使用javascript进行更改,但这是不可能的。

你的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>

我想你做不到

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM