Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/287.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 无法通过ajax调用显示返回数据_Php_Jquery_Ajax - Fatal编程技术网

Php 无法通过ajax调用显示返回数据

Php 无法通过ajax调用显示返回数据,php,jquery,ajax,Php,Jquery,Ajax,我已经创建了一个查询,它以前工作过,但当我试图以json格式获取数据时,虽然它不工作,但我不知道为什么它不显示返回的数据。这是我的代码。当我检查控制台时,返回数据没有显示,尽管它没有被处理,我想是的,但是我无法纠正这个错误。谁能帮我一下吗 $(document).ready(function(e) { $("#addcart").on('submit', (function(e) { var oldval = $('#crtcount').text();

我已经创建了一个查询,它以前工作过,但当我试图以json格式获取数据时,虽然它不工作,但我不知道为什么它不显示返回的数据。这是我的代码。当我检查控制台时,返回数据没有显示,尽管它没有被处理,我想是的,但是我无法纠正这个错误。谁能帮我一下吗

$(document).ready(function(e) {
    $("#addcart").on('submit', (function(e) {
        var oldval   = $('#crtcount').text();
        var form     = this;
        var formData = new FormData(this);
         $.ajax({
            url         : "includes/get_data.php",
            type        : "POST",
            data        : formData,
            contentType : false,
            cache       : false,
            processData : false,
            dataType    : "JSON",
            success     : function(data) {
                var data = $.parseJSON(data);
                $('#crtcount').html(parseInt(oldval)+1);
                $('#crtcount1').html(parseInt(oldval)+1);
                $('#cart_dt').html(data.cart);
                console.log(data.message);
            }
        });
    }));
});
这是我为处理数据而创建的php代码

$qty = $_POST['qty'];
$pid = $_POST['pid'];
echo $cart->add_to_cart($pid);

$data['message']  = "<div class='message'>Your product is added to cart</div>";
$data['cart']     = '';
foreach($_SESSION['cart']['pid'] as $content) { 
    $prod_id          = $content['prod_id'];
    $products         = bgMysqlSelect("SELECT * FROM bg_products WHERE pid = '$prod_id'");
    $data['cart']    .= '<div class="items-sm"><div class="img-sm"><img src="../includes/uploads'.$products['pimage'].'" /></div>';
    $data['cart']    .= '<div class="cart-inf-sm"><h4>'.$products['ptitle'].'</h4>';
    $data['cart']    .= '<p><span>price :</span>$'.$products['pmsrp'].'</p>';
    $data['cart']    .= '<p><span>Qty :</span>'.$content['qty'].'</p>';
    $data['cart']    .= '<a href=""><i class="fa fa-times"></i></a></div></div>';
}

echo json_encode($data);

php文件中的问题

第一:不要用json_encode回显任何东西

第二:评论您的foreach循环,这可能是问题的原因

所以你的代码应该是这样的

$qty = $_POST['qty'];
$pid = $_POST['pid'];
//echo $cart->add_to_cart($pid);

$data['message']  = "<div class='message'>Your product is added to cart</div>";
$data['cart']     = '';
/*foreach($_SESSION['cart']['pid'] as $content) { 
    $prod_id          = $content['prod_id'];
    $products         = bgMysqlSelect("SELECT * FROM bg_products WHERE pid = '$prod_id'");
    $data['cart']    .= '<div class="items-sm"><div class="img-sm"><img src="../includes/uploads'.$products['pimage'].'" /></div>';
    $data['cart']    .= '<div class="cart-inf-sm"><h4>'.$products['ptitle'].'</h4>';
    $data['cart']    .= '<p><span>price :</span>$'.$products['pmsrp'].'</p>';
    $data['cart']    .= '<p><span>Qty :</span>'.$content['qty'].'</p>';
    $data['cart']    .= '<a href=""><i class="fa fa-times"></i></a></div></div>';
}*/

echo json_encode($data);

你能检查F12网络标签来了解你的php是工作还是工作吗not@hasan我检查了网络ab,我只看到了这一点,我不知道如何在网络选项卡中检查有关错误按f12,然后单击网络选项卡,然后单击XHR筛选器,您将看到XHR请求删除这一行echo$cart->add_to_cart$pid@Mohamed Yousef不,当我删除json_encode和echo only hello world并将数据类型更改为text t works for Me最后一个问题我必须运行此函数,因此如果我不编写echo,它是否会运行,因为我这样做只是为了将产品添加到cart$cart->add_to_cart$pid@乌斯曼汗:你肯定能用它。。如果此函数已经可以将数据保存到数据库中。。我不知道“添加到购物车”功能中包含什么,但您可以检查。。
$(document).ready(function(e) {
    $("#addcart").on('submit', (function(e) {
        e.preventDefault();
        var oldval   = $('#crtcount').text();
        var form     = $(this);
        var formData = $(this).serialize();
         $.ajax({
            url         : "includes/get_data.php",
            type        : "POST",
            data        : formData,
            //contentType : false,
            //cache       : false,
            //processData : false,
            dataType    : "JSON",
            success     : function(data) {
                //var data = $.parseJSON(data); // I think there is no need for this line
                $('#crtcount').html(parseInt(oldval)+1);
                $('#crtcount1').html(parseInt(oldval)+1);
                $('#cart_dt').html(data.cart);
                console.log(data.message);
            }
        });
    }));
});