从响应 AJAX 获取两个值,并将每个值分配给两个不同的 ID



我试图从AJAX响应中获取两个值。我正在使用按 ID 获取元素,它运行良好。我只是想在 php 中回显多个值,并将它们作为响应,在div 元素中设置一个值,另一个值被分配给隐藏的输入值。这是我的代码:

<script>
function showUser(str) {
if (str == "") {
document.getElementById("thermospace_cart_1_ID_Add").value = "";
return;
} else { 
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 (this.readyState == 4 && this.status == 200) {
document.getElementById("Hint").innerHTML = this.responseText;
}
};
xmlhttp.open("GET","forms.php?q="+str,true);
xmlhttp.send();
}
}
</script>

处理 Ajax 请求的 PHP 代码:

$q =$_GET['q'];
switch($q){
case "6008":  
$getrow= "SELECT ProdID, ProdPrice WHERE ProdID = 6008 ";
$list = mysql_query($getrow, $data) or die(mysql_error());
$rs = mysql_fetch_assoc($list);
$totalRows_list = mysql_num_rows($list);
echo $rs['ProdPrice'];   // I want this value assigned to ID1
echo $rs['ProdID'];      // and this value   assigned to ID2
break;

我认为您应该通过 JSON 返回值。例如,而不是

echo $rs['ProdPrice'];   // I want this value assigned to ID1 
echo $rs['ProdID'];      // and this value   assigned to ID2

你应该做这样的事情

echo json_encode($rs);

在 javascript 部分,像这样解析 responseText:

var rs = JSON.parse(this.responseText);
var prodPrice = rs.ProdPrice;
var prodId = rs.ProdID;

相关内容

  • 没有找到相关文章

最新更新