我在这里有一个AJAX请求:
var model = $("#variation").val();
var problem_id = $('input[name="problem"]:checked').val();
$.ajax({
type: "POST",
url: "../common/prices.php",
data: {model: model, problem_id: problem_id},
datatype: "json",
success: function (data) {
alert(data['bronze_price']);
},
error: function() {
alert("Error: Contact administrator");
}
});
,最终结果是某种数组。
console.log(data)
顺便提一下,返回{"bronze_price":null,"silver_price":null,"gold_price":"249.00"}
这是PHP代码:
$query = "SELECT * FROM ext_product_price WHERE product_id='".$_POST['model']."' AND problem_id='".$_POST['problem_id']."'";
$result = mysqli_query($link, $query);
$row = mysqli_fetch_array($result);
die(json_encode(array("bronze_price"=> $row['bronze_price'], "silver_price"=>$row['silver_price'], "gold_price"=>$row['gold_price'])));
因此,data ['bronze_price']返回“undefined”,但当我删除所有参数时,它会显示数组{"bronze_price":null,"silver_price":null,"gold_price":"249.00"}
。我想访问每个单独的数据(bronze_price,silver_price,gold_price)。所有答案和评论都将不胜感激。
答案 0 :(得分:2)
设置以下json标头以返回具有有效内容类型
的jsonheader('Content-Type: application/json');
die(json_encode(array("bronze_price"=> $row['bronze_price'], "silver_price"=>$row['silver_price'], "gold_price"=>$row['gold_price'])));
您可以使用点符号来获取值
alert(data.bronze_price);
确保返回正确的json结构
答案 1 :(得分:1)
它将是data.bronze_price
。其他人看起来还不错。