我已经放弃了,大约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)
似乎它没有发布我的数据,我尝试了很多不同的东西,都给我错误,说没有数据被发布。
答案 0 :(得分:16)
尝试将contentType
更改为application/x-www-form-urlencoded
或只删除它,因为它是默认值。
答案 1 :(得分:8)
您的问题是您发布的数据与您发送的content-type
不匹配。
contentType
用于发送到服务器的数据,dataType
用于从服务器接收的数据。
只需从代码中删除contentType: "application/json"
即可。