【发布时间】:2021-11-03 21:52:10
【问题描述】:
问候各位程序员,我整天都在努力解决这个问题,但我对 ajax 了解不多。我可以处理需要刷新的常规表单。
基本上,我有一个表单,客户可以在其中输入他们想要的数量,还有一个按钮,上面写着添加到购物车,并带有一个处理发布请求的 ajax 函数。
<form id="qnt'.$ID'">
<input type="hidden" value="'.$price.'" name="price">
<input type="text" placeholder="Enter Quantity in Kilo" name="qty" required>
<button class="btn btn-danger" type="button" onclick= add('.$ID.') class="filled-button" class="add2cart">Add To Cart</button></h6>
</form>
这是 ajax 请求:
<script type="text/javascript">
function add(id){
qnt = $('#qnt'+id).serialize();
$('#qnt'+id).trigger("reset");
$.ajax({
url:'add2cart.php',
method:'POST',
data:{
'id': id,
'qnt': qnt
},
success:function(data){
console.log(data);
}
});
}
</script>
现在这完全没问题(朋友帮我做的),现在我想在表单中添加另一个变量:
<form id="qnt'.$ID'">
<input type="hidden" value="'.$newPrice.'" name="newPrice">
<input type="text" placeholder="Enter Quantity in Kilo" name="qty" required>
<button class="btn btn-danger" type="button" onclick= add('.$ID.') class="filled-button" class="add2cart">Add To Cart</button></h6>
</form>
如何使用 ajax 脚本传递新的隐藏输入?谢谢。
【问题讨论】:
-
在 ajax 函数中的
data参数中添加一个新参数 - 这表示您这样做是不明智的,因为可以轻松修改输入到浏览器中的任何内容。 -
我尝试添加一个新的(语法 100% 正确),但它导致按钮停止工作 newPrice : price
-
您实际上不需要在 ajax 函数中发送价格 - 只需发送产品 ID 和数量即可。 PHP 脚本将进行数据库查找以查找价格(这样价格就是您设置的价格,而不是有人可能更改的价格) - 然后可以将详细信息存储在
cart -
我制作了一个智能销售系统,它分析用户静态并根据可用的内容为他们提供销售,当有销售给某些客户时,我希望 ajax 通过添加到购物车和不去数据库查原价,这样我就不能得到售后的价格。
-
您还希望在表单中添加什么其他变量,这个变量来自哪里?是用户输入的吗?