我尝试使用AJAX将数据发送到PHP页面(查询数据库)并返回特定值。然后我会显示结果。
我找到了几个关于如何使用AJAX传递数据的例子。这不是我的问题。它是如何将SQL查询的多个结果返回到原始页面的。
使page2.php
$prod01 = $_REQUEST['prod01'];
$prod02 = $_REQUEST['prod02'];
$cost01 = mysqli_fetch_array(mysqli_query($db,"SELECT `cost`,`cost2` FROM `info` WHERE `blah`='".$prod01."'"));
$cost02 = mysqli_fetch_array(mysqli_query($db,"SELECT `cost`,`cost2` FROM `info` WHERE `blah`='".$prod02."'"));
$getcost01 = $qty01 * $cost01[0];
$getcost02 = $qty02 * $cost02[0];
$foo = array('result01' => $getcost01, 'result02' => $getcost02);
echo json_encode($foo);
page1.php中
var prod01 = $("#prod01").val();
var prod02 = $("#prod02").val();
$.ajax({
type: "POST",
url: "page2.php",
dataType: 'json',
data : { prod01 : 'pro01', prod02 : 'prod02'},
cache: false,
success: function(result){
$('.showit01').text(result.result01);
$('.showit02').text(result.result02);
}
});
以上结果是:
$getcost01
$getcost02
不是数据库的预期SQL结果。
当我导航到" /page2.php?prod01 = ABC& prod02 = DEF"它按预期显示:
{"result01":"100","result2":"200"}
答案 0 :(得分:0)
似乎ajax存在问题。我改变了
data : { prod01 : 'pro01', prod02 : 'prod02'},
到
var dataString = 'prod01='+ prod01 +'&prod02='+ prod02;
$.ajax({
type: "POST",
url: "page2.php?",
dataType: 'json',
data : dataString ,
cache: false,
success: function(result){
$('.showit01').text(result.result01);
$('.showit02').text(result.result02);
}
});
我假设我的ajax格式不正确?我无法解释。