2012-06-05 98 views
0

我有一個jQuery,通過ajax從頁面中獲取文本並在div中顯示該文本 我想將這些數據傳遞給一個php變量我該怎麼做?將xmlhttp.responseText數據傳遞給php變量

我jQuery代碼是

<script type="text/javascript"> 
     var xmlHttp = null; 
     window.onload = function() { 
      xmlHttp = new XMLHttpRequest(); 
      xmlHttp.open("GET", "abc.php", true); 
      xmlHttp.onreadystatechange = onCallback; 
      xmlHttp.setRequestHeader('Content-type','application/x-www-form-urlencoded'); 
      xmlHttp.send(null); 
     } 
     function onCallback() { 
      if (xmlHttp.readyState == 4) { 
       if (xmlHttp.status == 200) { 
        alert(xmlHttp.responseText); 
        document.getElementById('show').innerHTML=xmlHttp.responseText; 


       } 
      } 
     } 
    </script> 

在這裏,我想在一個PHP變量保存xmlhttp.responseTexrt在同一個文件我怎麼能做到這一點?

+0

如果你想將數據從客戶端傳遞到服務器端,使用ajax調用。 – Johan

+0

代碼中沒有JQuery,它的純Javascript!你爲什麼要把它存儲在一個PHP變量中? –

+0

我得到的文本是一個序列化數組,並且在解析數組之後,我必須更新我的數據庫,所以我需要將它存儲在php變量中 – mohit

回答

0

Javascript在瀏覽器上執行,php在Web服務器上執行。你不能直接從javascript傳遞值到php。

因此,您需要從javascript向發送xmlHttp.responseText的Web服務器發送另一個Ajax調用(POST),並在服務器中編寫php代碼以將值存儲到數據庫。

0

傳遞數據的URL,

var data = "somedata"; 
xmlHttp.open("GET", "abc.php&send=" + data, true); 

用於傳遞序列化的陣列,首先將它轉換成字符串

var send = toString(array); 
xmlHttp.open("GET", "abc.php" + send, true); 

對於存儲陣列到PHP變量使用$receive = explode(',',$_POST['send']);