我基本上是尝试将表单提交到数据库,但由于某种原因它不会发布POST。触发成功的成功方法受到了冲击。所以,我不确定问题是什么?我在phpMyAdmin中检查了数据库以查看数据是否已提交,但这并没有成功。我试着在这个网站上看到类似的代码和jquery来寻找解决方案,但仍然失败了。任何解决方案?
HTML:
<form class="form" method="post">
<div class="col-sm-4 col-lg-4 col-md-4">
<div class="thumbnail">
<img src="images/011.jpg" alt="011.jpg">
<div class="caption">
<h4 class="pull-right">$64.99</h4>
<input type="hidden" name="price" value="64.99"/>
<h4 title="Item">Second Product</h4>
<input type="hidden" name="productName" value="product"/>
<p>This is a short description. Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>
<input type="hidden" name="description" value="DESC VALUE"/>
</div>
<div class="userOptions text-center">
<!-- Cart Button -->
<button class="btn btn-primary" type="submit" id="cartButton" name="addItemToCart"><span class="glyphicon glyphicon-shopping-cart"></span> Add to Cart</button>
</div>
</div>
</div>
</form>
的JQuery / AJAX:
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function()
{
$(".form").on("submit",function(e)
{
e.preventDefault();
$.ajax({
type:"POST",
url:'cartexe.php', //I will put project id here as well
data:$(".form input").serialize(),
success:function(smsg)
{
alert('success added');
}
});
});
});
</script>
答案 0 :(得分:2)
将addItemToCart(data:$(".form input").serialize()+"&addItemToCart="
)添加到您的数据中以进行ajax调用:
$(document).ready(function()
{
$(".form").on("submit",function(e)
{
e.preventDefault();
$.ajax({
type:"POST",
url:'cartexe.php', //I will put project id here as well
data:$(".form input").serialize()+"&addItemToCart=",
success:function(smsg)
{
alert('success added');
}
});
});
});
答案 1 :(得分:1)
罪魁祸首似乎是这样:
data:$(".form input").serialize(),
由于您明确.form input
,<input>
只标记,然后在您的PHP中,您正在检查if(isset($_POST['addItemToCart']))
的实际存在,这实际上是button
标记,是不包括并在后期数据中传输。
所以基本上没有任何反应,因为你依赖<button>
标签。
因此,将按钮转换为输入类型提交:
<input type="submit" name="addItemToCart" value="Add to Cart" class="btn btn-primary" id="cartButton" />
虽然它可能与你的造型有冲突。
我可能也会建议,而不是从按钮的设置触发它而不是使用它:
if($_SERVER['REQUEST_METHOD'] == 'POST') {
// PHP Logic
}
答案 2 :(得分:0)
我可以使用您的代码发布到cartext.php。在firebug中没有错误并且收到了ok返回消息。发布数据。你遇到什么问题?