使用Ajax创建会话和回显结果

时间:2016-07-20 13:02:31

标签: javascript php jquery html ajax

我尽我所能让它发挥作用。但AJAX对我来说很新鲜。所以挂在那里......

好的,我在这里问了几个关于解决这个问题的问题,我必须要工作。我(我们)已经走了很长的路。但现在下一个问题就在这里。

我尝试使用 AJAX

在div中回显会话。 AJAX代码正常工作,我可以将纯文本回显给我希望它去的div。 我遇到的唯一问题是它没有显示项目的标题。

我有一些项目(比如说这个例子为3),我想让自定义保存会话中的项目。所以当客户点击保存时。 ajax div显示标题。如果自定义点击第3项,则显示第1项和第3项等等......

我的HTML:

<button type="submit" class="btn btn-primary text-right" data-toggle="modal" data-target=".post-<?php the_ID(); ?>" data-attribute="<?php the_title(); ?>" data-whatever="<?php the_title(); ?>">Sla deze boot op <span class="glyphicon glyphicon-heart" aria-hidden="true"></span></button>

我的AJAX代码:

$(".ajaxform").submit(function(event){
event.preventDefault();
  $.ajax({
      type: "POST",
      url: "example.com/reload.php",
      success: function(data) {
        $(".txtHint").html(data);    
       },
     error: function() {
        alert('Not OKay');
        }
    });
      return false;
 });

我的PHP reload.php

<h4>Saved Items</h4>
<p>Blaat...</p>
<?php echo "Product Name = ". $_SESSION['item'];?>

我在这里看到了这段代码:我没有使用这段代码。只是想知道我是否可以将它用于我的代码,然后如何使用它?

将session.php更改为:

<?php
   session_start();

   // store session data
   $_SESSION['productName'] = $_POST['productName'];

   //retrieve session data
   echo "Product Name = ". $_SESSION['productName'];
?>

在您的HTML代码中:

function addCart(){
    var brandName = $('iframe').contents().find('.section01a h2').text();

    $.post("sessions.php", {"name": brandName}, function(results) {
        $('#SOME-ELEMENT').html(results);
    });
}

我如何获得我的头衔();:

<?php
    // Set session variables
    $_SESSION["item"][] = get_the_title();
?>

这是我可以用的东西吗?有人可以帮我解释代码吗?

提前致谢!

1 个答案:

答案 0 :(得分:1)

我不确定你究竟想要完成什么,但这里是一个快速而又肮脏的例子,用产品名称发出HTTP请求(POST),存储它在PHP会话中,并在会话中输出所有产品名称:

HTML

<p>Product A <button class="add-product" data-product="Product A">Add Product</button></p>
<p>Product B <button class="add-product" data-product="Product B">Add Product</button></p>
<p>Product C <button class="add-product" data-product="Product C">Add Product</button></p>

<div id="response">
</div>

的JavaScript

$('.add-product').click(function() {
    var productName = $(this).data('product');

    $.post('addProduct.php', {productName: productName}, function(data) {
        $('#response').html(data);
    })
});

PHP(addProduct.php)

<?php

session_start();

if (!array_key_exists('products', $_SESSION) || !is_array($_SESSION['products'])) {
    $_SESSION['products'] = [];
}

$productName = array_key_exists('productName', $_POST) ? (string) $_POST['productName'] : '';

if ($productName) {
    $_SESSION['products'][] = $productName;
}
?>
<h4>Your added products:</h4>
<ul>
    <?php foreach ($_SESSION['products'] as $product): ?>
    <li><?php echo htmlspecialchars($product); ?></li>
    <?php endforeach;?>
</ul>