数据没有从ajax post方法传递给php回调

时间:2013-07-12 05:48:13

标签: php ajax post

我正在尝试在textarea中传递数据并使php回调相同并在简单操作后在textarea中显示它以确保传输发生。但是我无法使我的ajax函数传递数据。

<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中的Ajax函数

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);


}

这是我在php_submit.php中的php代码

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

我在textarea字段中输出为Data : Data sent from php call back to ajax function+,这意味着虽然正在进行通信但是php回调无法读取ajax调用者发送的数据,或者可能是ajax函数无法发送数据到php回拨。

这里的错误是什么?

1 个答案:

答案 0 :(得分:1)

替换行

ajaxVar.send(user_notes);

通过

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

阅读此http://www.w3schools.com/ajax/ajax_xmlhttprequest_send.asp