2013-07-12 54 views
0

我想在textarea中傳遞數據,並使php回調來查看相同的內容,並在textarea中顯示它,以確保傳輸發生後進行簡單操作。但是我無法讓我的ajax函數傳遞數據。數據沒有從ajax post方法傳遞到php回調

<script type="text/javascript" src="ajax.js"></script> 

這是我的形式

<form action="#" method="post" onsubmit="submit_notes_call();return false;"> 
    <textarea rows="5" cols="30" name="user_notes" id="user_notes"></textarea> 
    <input type="submit" name="notes_submit" id="notes_submit" value="UPDATE NOTES" > 
</form> 

這裏是ajax.js

function submit_notes_call() 
{ 
    var ajaxVar; 
    var user_notes = " Data from ajax call to php callback "; 
         /*document.getElementById("user_notes").value; */ 
    try 
    { 
     ajaxVar = new XMLHttpRequest(); 
    }catch (e) 
    { 
     try 
     { 
      ajaxVar = new ActiveXObject("Msxml2.XMLHTTP"); 
     }catch (e) 
     { 
      try 
      { 
       ajaxVar = new ActiveXObject("Microsoft.XMLHTTP"); 
      }catch (e) 
      { 
       alert("Your browser broke!"); 
       return false; 
      } 
     } 
    } 
    ajaxVar.onreadystatechange=function(){ 
              if(ajaxVar.readyState==4) 
               { 
               document.getElementById("user_notes").innerHTML = ajaxVar.responseText; 
               } 
              }; 
    ajaxVar.open('POST','notes_submit.php',true); 
    ajaxVar.send(user_notes); 


} 

,在這裏我的Ajax功能在notes_submit.php我的PHP代碼

<?php 
    $data_recieved = "Data from php call back to ajax function+".$_POST['user_notes']; 
    echo "Data : " . $data_recieved; 
?> 

我得到的輸出爲Data : Data sent from php call back to ajax function+裏面的textarea字段,這意味着雖然通信正在發生,但PHP回調不能讀取ajax調用者發送的數據或可能是ajax函數不能發送數據到php回調。

這裏有什麼錯誤?

回答

1

更換thie線

ajaxVar.send(user_notes); 

通過

ajaxVar.send('user_notes='+user_notes); 

閱讀本http://www.w3schools.com/ajax/ajax_xmlhttprequest_send.asp

+0

仍然無法正常工作。 – Mayur

+0

從我在網上學到的一個變量需要通過POST發送請求時被傳遞,並且相同的變量名將被用於檢索php回調中的數據。 – Mayur