2016-06-14 4 views
1

Я не могу получить значение post в своем PHP-файле. Вот мой код:Сообщение AJAX не работает, но я получаю 200 OK

HTML запрос

<div class="add_to_cart"> 
    <input class="product_id" name="product_id" value="989" type="hidden"> 
    <input class="cart_btn" type="submit" name="add" value="Προσθήκη στο καλάθι"> 
</div> 

AJAX

<script> 
    $(document).ready(function(){ 
    $(".cart_btn").click(function(){ 
    var id=$(".product_id").val(); 
    var dataString = 'id='+ id; 
    $.ajax({ 
     type: "POST", 
     url: "ajax/add_to_cart.php", 
     data: dataString, 
     cache: false, 

     }); 

    }); 
}); 
</script> 

add_to_cart.php

<?php 


     $test = $_POST['id']; 
     echo $test; 

?> 

I г эт следующая ошибка

Примечание: Undefined индекс: идентификатор в K: \ Xampp

+0

Да, я знаю, что я поменял его нарочно. еще не работает – Kinggeov

+0

var id = $ (this) .val(); он должен быть var id = $ (". product_id"). val(); –

+0

Когда я проверяю состояние сети, я вижу значение ... – Kinggeov

ответ

0

Я считаю, что .cart-btn, что, вероятно, <a/> или <button/>, вернется undefined при вызове .val() на нем, так как это не вход.

Попробуйте жестко кодировать эту строку для начала; var id = "testing purposes".

Если это работает, вы можете поместить идентификатор продукта в атрибуте данных вместо:

<a class="cart_btn" data-product-id="2">Add to cart</a> 

.. и доступ к нему, как это: var id = $(this).data('product-id');

+0

Не работает – Kinggeov

+0

Что не работает? Жестко-кодирование значения ID? Кроме того, вы пытались сделать данные объектом вместо этого? 'var dataString = {id: id};' – Dencker

+0

Теперь мой id не определен – Kinggeov

-1

Попробуйте просто с помощью метода JQuery $ .post

<script> 
    $(document).ready(function(){ 
     $(".cart_btn").click(function(e){ 
     e.preventDefault(); 
     //var product_id=$(this).val(); // Button value "Προσθήκη στο καλάθι" 
     var product_id = $('.product_id').val(); // Hiddent input value "989" 
     $.post("ajax/add_to_cart.php", { id: product_id}, function(resp){ 

     }); 
    }) 
}); 
</script> 
+0

Вы понимаете, что это [точно так же] (https://github.com/jquery/jquery/blob/master/src/ajax.js#L833-L852)? – Dencker

+0

@Dencker есть предупреждениеDefault на этом. Это очень важно. – apokryfos

+0

А, я только читаю «Попробуй это просто с помощью jquery $ .post» - Извините. – Dencker

Смежные вопросы