2017-06-10 41 views
0

我已经创建了一个查询它工作之前,但是当我试图以json格式获取数据,虽然它不工作,我不知道为什么它不显示数据作为回报这里是我的码。当我检查控制台返回数据不显示,但即​​使它不是处理我认为,但我无法纠正问题的错误。任何人都可以帮助我。无法显示通过ajax调用返回数据

$(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); 
      } 
     }); 
    })); 
}); 

他是我所处理的数据

$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); 
+0

你可以检查F12网络t ab了解你的php工作是否 – hasan

+0

@hasan我检查了网络ab,我只看到这个我不知道如何检查网络选项卡上的bug –

+0

按f12然后点击网络选项卡,然后点击XHR过滤器,你会看到XHR请求 – hasan

回答

1

在你的PHP文件中的问题创造了我的PHP代码..

:不回应任何事情与json_encode()

2nd:评论您的foreach lo OP 这可能是问题的原因

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

$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没有input[type=file],而不是通过文件你可以用.serialize()代替new formData()

$(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); 
      } 
     }); 
    })); 
}); 
+0

非常感谢你真的帮我 –

+0

onc e最后一个问题,我必须运行此功能,所以如果我不写回声会运行,因为我只是为了将产品添加到购物车$ cart-> add_to_cart($ pid); –

+0

@UsmanKhan确定你可以使用它..如果这个功能已经可以将你的数据保存到数据库..我不知道'add_to_cart()'函数里面是什么,但你可以检查https://stackoverflow.com/questions/10424377/inserting-into-database-using-a-pdo .. –