У меня есть 2 части кода (php и javascript). В файле PHP я использую функцию json_encode()
для создания JSON data
, который будет отправлен в файл Javascript.Показать предупреждение на основе данных json
PHP FIle
<?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>
Anytime запрос $.getJSON("phpfile.php", {"remove_code":pcode}...
успешно, появляется предупреждение, показывающий data.items
. Проблема, с которой я столкнулся, заключается в том, что когда data.items
больше или равно 1, запрашивается предупреждение, но когда data.items
равно 0, никаких предупреждений не запрашивается.
Пожалуйста, помогите мне решить эту проблему
Вы добавили строку console.log(), чтобы узнать, идет ли речь об успешном методе. Возможно, добавьте обработчик ошибок в вызов Ajax и посмотрите, вызвано ли это. – epascarello
вызов ajax является успешным. Когда когда 'data.items> = 1', появляется предупреждение, но проблема возникает, когда' data.items = 0' – Prince
Вы уверены, что это происходит в методе успеха ... – epascarello