我正在制作一个包含不同产品的网站。单击产品时,AJAX调用将从数据库中获取产品数据。在此之后,我想转到一个新页面,其中将显示产品数据。但是存在问题,当加载新页面时,数据不会被显示,因为数据是在前一页加载的。
使用Javascript:
$('#products').on('click', 'li', function(){
document.location.href = "product.html";
var datapk = $(this).attr('data-pk');
console.log(datapk);
$.ajax({
type: 'POST',
url: 'connection.php',
data: {
'function': 'get_product_data',
'datapk': datapk
},
success: function(data) {
var productData = JSON.parse(data);
displayProductData(productData);
}
});
});
PHP:
function get_product_data(){
$datapk = mysql_real_escape_string($_POST['datapk']);
$query = "SELECT * FROM Products WHERE prod_id = '$datapk'";
$result = mysqli_query($GLOBALS['dbc'], $query) or die('Error querying database.');
$json = array();
if (mysqli_num_rows($result)){
while ($row = mysqli_fetch_row($result)){
$json[] = $row;
}
}
echo json_encode($json);
mysqli_close($db_name);
}
Data-pk
是数据库中的唯一ID。
答案 0 :(得分:0)
正如罗里所说..
它是document.location.href = "product.html";
或$.ajax({ ... })
但是,您可能会问自己,document.location.href = "product.html
和<a href='product.html'>
之间有什么区别。