【发布时间】:2016-07-19 17:17:12
【问题描述】:
是否可以使用 AJAX 和 PHP 获得多个响应?
由选择框触发的事件,当它改变值(onchange)时,它会调用 JavaScript 函数并获取xmlhttp.responseText。
但在responseText 上,我们只能根据 id 更改一个值/innerHtml。
我想使用 AJAX 更改 2 个或更多 HTML。有可能吗?
这是我的 AJAX 函数:
if (window.XMLHttpRequest) {
// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp = new XMLHttpRequest();
}
else {
// code for IE6, IE5
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange = function() {
if (xmlhttp.readyState != 4 && xmlhttp.status == 200) {
document.getElementById("txtStockQTY"+baris).value = "Validating..";
}
else if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
document.getElementById("txtStockQTY"+baris).value = xmlhttp.responseText;
}
}
xmlhttp.open("GET", "ajaxGetStock.php?id="+id, true);
xmlhttp.send();`
ajaxGetStock 如下:
$idbarang = $_GET['id'];
include "../connect.php";
$resultSetStockType = mysql_query("SELECT STOCK_QTY,STOCK_QTYUNIT,STOCK_SIZE,STOCK_SIZE2 FROM TSTOCK WHERE STOCK_ID = $idbarang",$con);
if($resultSetStockType and mysql_num_rows($resultSetStockType) > 0) {
while($rowSetStockType = mysql_fetch_array($resultSetStockType)) {
echo $rowSetStockType['STOCK_QTY']." ".$rowSetStockType['STOCK_QTYUNIT'];
}
}
else {
echo "--- stok tidak ditemukan ---";
}
我想从我的 AJAX 中获取多个返回值并将其分配给多个文本类型的输入。
【问题讨论】:
-
不要使用
mysql_*方法,因为它们已被弃用,并且自 PHP 7 起已被删除。 -
我建议你使用像“JSON”这样的格式化文本:w3schools.com/js/js_json.asp
-
危险:您使用的是an obsolete database API,应该使用modern replacement。您很容易受到SQL injection attacks的影响,现代 API 可以让您更轻松地从 defend 中获得。
-
感谢您的评论,伙计们。 Perharps 我要试试 mysqli_*