2016-12-27 109 views
0

我在href点击下面的代码我打电话给一个javascript代码,其中调用了一个ajax,它返回json格式的数组$ss的值。现在我想知道如何通过ajax更新$ ss的值。通过Ajax更新数据

<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调用返回的数据来更新数组值。

+0

为什么你想要它? –

+0

becoz这就是我想要做的......需求 – smarttechy

+0

好,那么下一步是什么。如果更新阵列,你想做什么? – anu

回答

1

1-让我们清楚javascript不会替换php变量的内容。
2-即使如此,您将无法重新生成您需要这种方式的HTML。
3-收到你的变量后,你需要更新html代替。

PS:当然,当你收到ajax电话,
这也需要一定的要求(变量是全球性的和可访问的PHP文件里...),
您可以更新的server侧的可变但从我所了解的你想用javascript改变它是不可能的。

+0

我只需要更新变量休息我会重新生成HTML – smarttechy

+0

有没有办法绕。我找不到任何 – smarttechy

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> 
+0

你能发布ajax.php以获取进一步的帮助 –

+0

包含mysql查询只 – smarttechy

+0

您刚刚复制并粘贴了我的javascript代码 – smarttechy

0

我认为你不能。

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

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