JQuery AJAX Post не публикует данные - PullRequest
9 голосов
/ 16 декабря 2011

Правильно, я сдался, примерно через 2 часа, пытаясь выяснить, какую проблему я решил, помогите мне с помощью stackoverflow!

Попытка опубликовать идентификатор продукта вместе с количеством в php-файле, который будетвозвращать ошибки, если он находит какой-либо

код jQuery -

$('span.add_to_cart').click(function () {
        $('div.cart').append('<span class="loading">LOADING</span>');
        $.ajax({
            type: "POST",
            url: "/onlineshop/scripts/add_to_cart.php",
            dataType: "json",
            data: { prod_id: $('input.product_id').val(), 
                    quantity: $('input.quantity').val()
            },
            contentType: "application/json",
            success: function(data) {
                $('span.loading').remove();
            },
            error: function(xhr, textStatus, thrownError, data) {
                alert("Error: " + thrownError);
                $('span.loading').remove();
            }
        })
    });

А моя страница PHP просто пытается print_r($_POST)

Похоже, он не публикует мои данныеЯ пробовал много разных вещей, все выдают ошибку, утверждая, что данные не публикуются.

Ответы [ 2 ]

16 голосов
/ 16 декабря 2011

Попробуйте изменить contentType на application/x-www-form-urlencoded или просто отбросить его, так как это значение по умолчанию.

8 голосов
/ 16 декабря 2011

Ваша проблема в том, что отправляемые вами данные не соответствуют отправляемому вами content-type.

contentType - для данных, отправляемых на сервер, а dataType - для данных.

Просто удалите contentType: "application/json" из своего кода.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...