我正在尝试在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回拨。
这里的错误是什么?
答案 0 :(得分:1)
替换行
ajaxVar.send(user_notes);
通过
ajaxVar.send('user_notes='+user_notes);
阅读此http://www.w3schools.com/ajax/ajax_xmlhttprequest_send.asp