jQuery AJAX Post不发布数据

问题描述 投票:9回答:3

对了,我已经放弃了,经过大约2个小时的努力,想弄明白这个问题,我已经屈服了,帮帮我吧stackoverflow!

试图将产品ID和数量一起发布到一个php文件中,如果发现任何一个产品ID,就会返回错误。

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)

好像是没有发布我的数据,我试了很多很多不同的方法,都给我错误说没有发布数据。

jquery ajax post
3个回答
17
投票

尝试改变 contentTypeapplication/x-www-form-urlencoded 或者直接放弃它,因为它是默认值。


8
投票

您的问题是,您发布的数据不符合 content-type 您正在发送的数据。

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

只要删除 contentType: "application/json" 从你的代码中。

© www.soinside.com 2019 - 2024. All rights reserved.