jQuery AJAX Post没有发布数据

时间:2011-12-15 21:05:45

标签: jquery ajax post

我已经放弃了,大约2个小时后试图找出这个问题我已经陷入困境,帮助我解决堆栈溢出问题!

尝试将产品ID和数量发布到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 个答案:

答案 0 :(得分:16)

尝试将contentType更改为application/x-www-form-urlencoded或只删除它,因为它是默认值。

答案 1 :(得分:8)

您的问题是您发布的数据与您发送的content-type不匹配。

contentType用于发送到服务器的数据,dataType用于从服务器接收的数据。

只需从代码中删除contentType: "application/json"即可。