我花了数小时寻找帮助,以返回到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中代替回声? –