我花了數小時尋找幫助,以返回到Javascript腳本的AJAX調用的幫助。將AJAX值返回給Javasscript變量
我想要做的是向表中插入一個值,然後返回該插入行的id,然後可以在窗體中使用它,所以當用表單數據更新表的時候,它可以指定它應該去哪(哪一行)。我需要這樣做,所以我基本可以保留該行,並且不會被其他用戶盜取。
這是我一直在用電話:
id = getID('<?php echo $q; ?>','<?php echo $i; ?>');
PHP的值是有效的(看代碼,顯示值),並使用var聲明JavaScript函數之外。
這是AJAX功能:
var xmlhttp;
function getID(q, i)
{
xmlhttp=GetXmlHttpObject();
if (xmlhttp==null)
{
alert ("Sorry but your browser does not support AJAX or Javascript has been disabled");
return;
}
var url = "getID.php";
url = url + "?q=" + q;
url = url + "&i=" + i;
// execute the fully formed request
xmlhttp.onreadystatechange=stateChanged;
xmlhttp.open("GET",url,true);
xmlhttp.send(null);
}
function stateChanged()
{
if (xmlhttp.readyState==4)
{
id = xmlhttp.responseText;
// alert(xmlhttp.responseText);
// return xmlhttp.responseText;
}
}
function GetXmlHttpObject()
{
if (window.XMLHttpRequest)
{
// code for IE7+, Firefox, Chrome, Opera, Safari
return new XMLHttpRequest();
}
if (window.ActiveXObject)
{
// code for IE6, IE5
return new ActiveXObject("Microsoft.XMLHTTP");
}
return null;
}
和PHP代碼:
$q = $_GET['q'];
$i = $_GET['i'];
$query = "INSERT INTO parts (q, i) VALUES ('".$q."','".$i."')";
$results = mysql_query($query) or die(mysql_error());
$nextId = mysql_insert_id();
echo "$nextId";
如果我提醒值,它會正確地返回,但在形式上,這是創建一個DOM動態行爲這個值和數據輸入,它會出現「未定義」。任何人都可以指導我如何使這項工作?我承認我不是AJAX專家,當我嘗試他們時,我似乎無法獲得回調工作,坦率地說,並不真正瞭解如何...
如果有人提前謝謝,可以提供。
使用'回聲json_encode'在你的PHP腳本 –
一般性意見:使用jQuery和PDO – Songo
你能告訴我在哪裏使用?在PHP中代替回聲? –