如何在加载新页面后加载AJAX数据

时间:2014-06-02 09:40:32

标签: javascript php jquery ajax

我正在制作一个包含不同产品的网站。单击产品时,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。

1 个答案:

答案 0 :(得分:0)

正如罗里所说..

它是document.location.href = "product.html";$.ajax({ ... })

但是,您可能会问自己,document.location.href = "product.html<a href='product.html'>之间有什么区别。