2016-12-27 128 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']; 
}