我正在制作一个不同产品的网站。当单击产品时,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。
正如Rory所说…
要么是document.location.href = "product.html";
要么是$.ajax({ ... })
但是,document.location.href = "product.html
和<a href='product.html'>
有什么区别呢?