如果没有要显示的数据,PHP如何返回null json数组

时间:2015-02-19 16:28:19

标签: javascript php arrays json

我的情况在这里我已经在会话中存储了一个篮子,用户端有一个删除项目按钮。如果数组中没有项目,我想返回一个空数组

这是我的PHP代码

session_start();

header('Content-Type: application/json');
require_once('includes/requireonce.php');

if ( strtolower($_SERVER['REQUEST_METHOD']) == 'post' ) :

    if(isset($_POST['removeItem'])){

        $itemToRemove = htmlspecialchars($_POST['removeItem']);

        if(count($_SESSION['order_array']) <= 1){
            unset($_SESSION['order_array']);
            print json_encode([null]);
        }else{
            unset($_SESSION['order_array'][$itemToRemove]);
            sort($_SESSION['order_array']);
            print json_encode($_SESSION['order_array']);
        }
    }
endif;

调用该代码并在屏幕上打印数据的jQuery函数:

$('#fixedBasket').on('click', '.removeItemCLS', function() {
    var itemIndex = $(this).attr('id'),
        cart_total = 0;
    // console.log('remove Item new: ' + itemIndex);

    $.post("delete_item.php",
    {
        removeItem : itemIndex
    },
    function(data){
        if(data){
            $("#cart_result").empty();
            $(data).each(function(index,item) {
                output = setCartContent(index, item);
                cart_total += +item.price;
                $("#cart_result").append(output);
            });

            $("#cart_total").empty();
            $("#cart_total").html(cart_total.toFixed(2));
        }else{
            $("#cart_result").empty();
            $("#cart_total").empty();
        }
    });

    return false;
});

下面的setCartContent

function setCartContent(index, data){
    return '<div class="row">' + 
        '<div class="col-md-2"><a href="#" id="' + index + '" class="removeItemCLS"> <span class="glyphicon glyphicon-minus-sign" aria-hidden="true"></span> </a></div>' +
        '<div class="col-md-7">' + data.product_name + '</div>' + 
        '<div class="col-md-3"><div class="pull-right">' +  data.price + '</div></div>' + 
    '</div><br />';
}

我想返回一个null并在jQuery端捕获一个null,所以如果它为null则只清空div的

有什么想法吗?

此致

1 个答案:

答案 0 :(得分:3)

试试这个

print json_encode([]);

将返回空数组或空数组