商城ajax请求与异步替换示例
HTML代码(遍历出数据表中的数据),商品数量
<input id="num-<?php echo $product['id']?>" value="<?php echo $product['num']?>" onblur(<?php echo $product['id'],this.value ?>)>
商品单价
<span id="price-<?php echo $product['id']?>"><?php echo $product['price']?></span>
商品小计
¥<span id='product-<?php echo $product['id']?>'><?php echo $product['num']*$product['price']?></span>元
商品总计
$total += $product['num']*$product['price'];
js代码,输入数量失焦事件传递商品ID和数量
<script>
function onblur(productid,num){
//通过ajax将对应商品的数量修改操作
var url = "changeNum.php";
var data = {'productid':productid,'num':num};
var success = function(response){
//如果返回success,则用js替换HTML价格小计
if(respons.errno == 0){
var price = ($('#num-'+productid).val())*($('#price-'+productid).html());
$('#product-'+productid).html(price);
}
}
$.post(url,data,success,"json")
}
</script>
PHP代码(changeNum.php)
<?php session_start(); //完成对数据表的修改操作 //1.接受参数 //2.处理参数 $productid = intval($_POST['productid']); $num = intval($_POST['num']); $userid = intval($_SESSION['userid']); //3.完成更新操作(以tp5为例) $result = Db::table('Cart')->where("id=$productid" and "userid=$userid")->update(['num' => "$num"]); //4.返回结果 if($result){ $response = array( 'errno' => 0, 'errmsg' => 'success', 'data' => 'true' ) }else{ $response = array( 'errno' => -1, 'errmsg' => 'fail', 'data' => 'false' ) } echo json_encode($response) ?>

浙公网安备 33010602011771号