javascript - 在不刷新的情况下在同一 php 页面中传递 var

标签 javascript php jquery mysql ajax

我的网站有问题。我有一个从数据库中获得的产品列表。这些产品有图像和名称阵营。 现在我想要的是,当我点击这个产品的某个人时,进入我的网页会出现一个新框,其中有产品描述、价格等。 这是产品列表的代码

<?php
  include 'php/dbmanager.php';
  $result = DBManager::getInstance()->getProducts();
  if($result->num_rows > 0){
    $i = 0;
    while($row = $result->fetch_assoc()){
      echo "<div class=\"wrap effect8 open\" onclick>";
      echo "<h1>".$row['product_name']."</h1>";
      echo "<div class=\"left\">";
      echo "<img src=".$row['product_image']."  width=150  height=150  >";
      echo "</div>";
      echo "<div class=\"right\">";
      echo $row['product_description'];
      echo "<div class=\"prodSelection\">";
      echo '<a href="catalogo.php?prodID=';
      echo $row[product_id];
      echo '"';
      echo 'class="button">Acquista</a>';
      echo '<label>';
      echo '<select class="selectBoxCat">';
      echo '<option selected> 1 </option>';
      echo '<option>2</option>';
      echo '<option>3</option>';
      echo '</select>';
      echo '</label>';
      echo '</div>';
      echo '</div>';
      echo '</div>';

    }
  }
?>

我如何从我单击的单个产品中获取 ProductID ($row[product_id]) 并将其用于新查询以选择该单个产品的数据库行(并使用此查询制作另一个类似的 php )?

我不想刷新页面。

我可以使用 pushstate 方法 (HTML5) 吗?

最佳答案

如果你想在用户点击时获得额外的数据,你需要发出ajax请求来更新你的DOM而不刷新页面。

在 PHP 端,您需要创建一个返回 json 编码值的脚本。

在 JS 方面,您需要创建一个点击事件监听器。在监听器内部,您需要向 PHP 脚本发出 ajax 请求。

当您的数据从您的 ajax 调用成功返回时,您将想要操作您的 DOM 以显示您的产品的详细信息。

点击监听器示例:

$("#button").on("click", function(){
    // make your ajax request here
});

ajax 调用示例:

$.ajax({
    method: "POST",
    url: "scriptThatReturnsProductDetails.php",
    data: 
    {
        productID: $("#myProduct").attr('id')
    }
})
.done(function( msg ) {
    // Do some DOM manipulation
});

关于javascript - 在不刷新的情况下在同一 php 页面中传递 var,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34186102/

相关文章:

c# - 通过使用 jquery 调用代码隐藏方法来填充其他下拉列表更改的下拉列表

javascript - AJAX 成功后如何关闭模态窗口

javascript - 出现滚动条时防止屏幕闪烁

javascript - jsonp : Uncaught SyntaxError: Unexpected token <

php - 谷歌地图 API : Blank page (No map)

php - 使用php将mysql查询存储在另一个表中

javascript - 在 $.each 中使用 .replace

javascript - 使用后续数据结果重新排序 angularjs ngRepeat

java - 使用java for chrome为网络浏览器开发插件

php - 转换为 HTTPS