一段时间的ajax表单请求 - 混淆变量

时间:2018-04-27 08:47:19

标签: ajax

我想暂时发送带有按钮的表单,但我有问题。如果发布按钮,表单会混淆变量。例如:我发布id为1的按钮,脚本从最后一个输入中获取变量。 码: index:

                <?php 
                $res = getProdus();
                foreach($res as $row) { ?>  
                    <form action="addtocart.php" method="POST">
                        <div class="col-12 col-sm-6 col-md-4 single_gallery_item women wow fadeInUpBig" data-wow-delay="0.2s">
                            <div class="product-img">
                                <img src="img/product-img/product-1.jpg" alt="">
                                <div class="product-quicview">
                                    <a href="#" data-toggle="modal" data-target="#quickview"><i class="ti-plus"></i></a>
                                </div>
                            </div>
                            <div class="product-description">
                                <h4 class="product-price">$39.90</h4>
                                <p>Jeans midi cocktail dress</p>
                                <input type="hidden" name="addtcart" value="<?=$row['ID'];?>">
                                <button type="submit" class="add-to-cart-btn">ADD TO CART</button>
                            </div>
                        </div>
                    </form>
                <?php } ?>

ajax请求:

$(document).ready(function() {
$('form').submit(function(event) {
    var formData = {
        'addtcart'        : $('input[name=addtcart]').val()
    };
    $.ajax({
        type        : 'POST', 
        url         : 'addtocart.php',
        data        : formData, 
        dataType    : 'json', 
                    encode          : true
    })
        .done(function(data) {
            console.log(data); 
        });
    event.preventDefault();
});

}); 和addtocart.php

<?php     
include("includes/functions.php");
session_start();
$errors         = array();      // array to hold validation errors
$data           = array();      // array to pass back data
if (empty($_POST['addtcart']))
    $errors['addtcart'] = 'Este necesar produsul id-ului.';
if ( ! empty($errors)) {
    $data['success'] = false;
    $data['errors']  = $errors;
} else {
    $ok = AddToCart(filtrare($_POST['addtcart']), getSpec("username", "users", "email", $_SESSION['magazin-user']));
    if($ok == 1) {
        $data['success'] = true;
        $data['message'] = 'Success!';
    } else {
        $data['success'] = false;
        $errors['mysqli'] = "Nu s-a realizat bine query-ul.";
        $data['errors'] = $errors;
    }
}
echo json_encode($data);

&GT;

1 个答案:

答案 0 :(得分:0)

用此

替换您的按钮代码
<button type="submit" value="<?=$row['ID'];?>" class="add-to-cart-btn">ADD TO CART</button>

然后替换你

更改脚本代码

$(".add-to-cart-btn").click(function() {
     var formData = {
        'addtcart'        : $(this).val()
    };

。 。

和你剩下的代码。