2012-12-25 57 views
0

朋友,我不知道是否有可能或沒有,但要做到像下面所提到的,如果可能的話給我最好的解決辦法..jQuery的AJAX JSON數組到PHP變量

的index.php

<?php 
mysql_connect('localhost', 'root', '') or die (mysql_error()); 
mysql_select_db('mydb') or die (mysql_error()); 
?> 
<html> 
    <head> 
    <script type="text/javascript" src="jquery-1.8.2.js"></script> 
    <script type="text/javascript"> 
     $(document).ready(function(){ 
     $('input[type="button"]').click(function(){ 
      $.ajax({ 
      url : 'ajax.php', 
      success : function(data){ 
       alert(data); 
      } 
      }); 
     }); 
     }); 
    </script> 
    </head> 
    <body> 
    <input type="button" name="button" value="Submit"> 
    <?php print_r($_REQUEST['data'])?> 
    </body> 
</html> 

ajax.php

<?php 
mysql_connect('localhost', 'root', '') or die (mysql_error()); 
mysql_select_db('mydb') or die (mysql_error()); 

$query = mysql_query('select * from user'); 
$count = count($query); 
while($row = mysql_fetch_array($query)) { 
    $data['name'][] = $row['name']; 
} 
print json_encode($data); 
?> 

當我點擊提交阿賈克斯將調用,並將從JSON編碼字符串得到迴應如下

{"name":["Nakul Kabra","Bridget Louise","Jayesh Joshi","Jignesh Chaudhary","Jitendra Vihol","Spec Develop","Harshad Sadclown","Andy Estep","Rohan"]} 

現在我想將這個ajax響應存儲在PHP變量中並顯示它。 如何解決這個問題,任何人都可以幫助我.. ??

謝謝,提前! 您的問候。

+0

當你收到你將在客戶端,你不能運行PHP的響應。您在客戶端使用JavaScript。 –

+0

一旦你設置了它,你想在哪裏再次使用該變量? –

+0

是的,你是對的,但仍然有任何方式或任何我們如何能夠將該json數組存儲在php數組中..你有任何想法或邏輯..嗎? –

回答

1

簡短的回答是否定的,這是不可能的。在將數據發送到客戶端之前,您已經擁有了PHP數組中的數據。一旦json數組到達,就不可能將它作爲PHP數組存儲。那當然需要將它發送回服務器。

在您的AJAX成功函數中,您可以解析json並將其插入到表單(或任何其他HTML元素)中。這裏有一個例子:

var obj = jQuery.parseJSON(data); 
$.each(obj.name, function(index, value) { 
    $('<input>').attr({ 
     type: 'input', 
     name: 'name[]', 
     value: value 
    }).appendTo('#name_box'); 
}); 

下面是一個樣表:

<form action="edit_names.php" method="post"> 
    <div id="name_box"></div> 
    <input type="submit" value="Submit" /> 
</form> 
+0

非常感謝** @PédeLeão** ...對我有幫助.. 非常感謝! –

1

這聽起來像是試圖跨頁面請求持久化數據。記住每個頁面請求,無論是頁面刷新還是ajax請求,都會創建一個新的php運行時。變量不會跨這些存儲,但當然有多種技術可以用來實現這種行爲。在頁面請求中保持數據的最常見方式是使用PHP會話和cookie。

這是一個有用的article,其中詳細解釋瞭如何實現會話和cookie。