私はコード(phpとjavascript)の2部分を持っています。 PHPファイルでは、json_encode()
という関数を使用して、JSON data
を作成し、これをJavascriptファイルに送信します。jsonデータに基づいて警告を表示します
PHPファイル
<?php
if(isset($_GET["remove_code"]) && isset($_SESSION["products"]))
{
$product_code = filter_var($_GET["remove_code"], FILTER_SANITIZE_STRING); //get the product code to remove
if(isset($_SESSION["products"][$product_code])) {
unset($_SESSION["products"][$product_code]);
}
$total_items = count($_SESSION["products"]);
if($total_items == 0){
unset($_SESSION["products"]);
}else{
//Calculate total of items in the cart
$total = 0;
foreach($_SESSION["products"] as $product){ //loop though items and prepare html content
$product_price = $product["price"];
$product_quantity = $product["quantity"];
$subtotal = $product_price * $product_quantity;
$total += $subtotal;
}
}
die(json_encode(array('items'=>$total_items, 'total'=>$total)));
}
?>
のJavascriptファイル
<script>
$(document).ready(function(){
$(".contentwrapper .content").on('click', 'a.removebutton', function() {
var pcode = $(this).attr("data-code"); //get product code
$.getJSON("phpfile.php", {"remove_code":pcode}, function(data) {
alert(data.items);// the total number of item
});
});
</script>
クエリ$.getJSON("phpfile.php", {"remove_code":pcode}...
が成功したいつでも、警告がdata.items
を示す表示されます。私が直面している問題は、data.items
が1以上の場合は警告が表示されますが、data.items
が0の場合は警告が表示されません。
は親切に私が
console.log()行を追加して、successメソッドに入るかどうかを確認しましたか?エラーハンドラをAjax呼び出しに追加して、それがトリガされているかどうかを確認してください。 – epascarello
ajax呼び出しが成功しました。 'data.items> = 1'のときに警告が表示されますが、' data.items = 0'のときに問題が発生します。 – Prince
成功メソッドに入ると確信していますか? – epascarello