Ajax ile bir PHP dizinin değerlerini alabilirsiniz Neyse ki?

2 Cevap php

Ben bir alışveriş sepeti site oluşturmak için çalışıyorum. Bir kullanıcı tıklama ürün sayfasında Sepeti resme eklediğinizde, ürün başlığı sayfayı yeniden olmadan bir "ürünü sepetinize olan" metni gösterecek. Ben şimdiye kadar oturumu ve ajax ama hayır şans kullanıyorum. Ben herhangi bir yardım için teşekkür ederiz.

Benim html soğuk

 <table id="<?php echo $productId; ?>" width="594" border="0" cellpadding="5" cellspacing="0">
    <tr>
                <td><img src="<?php echo "$brandImage"; ?></td>
    <td <?php echo $productName; ?>  //The "The product is in your cart" will be showed here</td>
        </tr> 
<tr>
<td><a class="addToCart" href="javascript:void(0);" onclick="addToCart(<?php echo $productId?>)"> 
</td>

Benim JavaScript dosyası (addToCart.js)

   function addToCart(productId){

var url="addToCart.php";
url=url+"?productId="+productId;
url=url+"&sid="+Math.random();


$.post(
 url,
 function(responseText){
  alert(responseText); //I wish I can get productData value from addToCart.php
 },
 "html"
)

Benim php dosyası (addToCart.php)

   <?php SESSION_START();

$productId=$_GET['productId'];
$cart=$_SESSION['cart'];

if(isset($cart)){
 $cart.=",".$productId;
 $product=explode(',',$cart);
 $totalItem=count($product);

}else{
 $cart=$productId;
 $totalItem=1;

};
$productData=array();
foreach($product as $id){
$productData[$id]=(isset($productData[$id])) ? $productData[$id]+1 :1;
};
$_SESSION['cart']=$cart;
//print_r($productData);
echo $productData; //Not sure what to do to send $productData back to my addToCart.js variable




?>

Ben kodu bakmak basit yapmaya çalıştım. Herhangi bir öneri büyük bir yardım olacaktır. Teşekkürler

2 Cevap

The most simple way is to use json_encode() on the variable. so...

header('Content-type: text/javascript; charset=UTF-8'); // or what ever charset you're using
echo json_encode($productData);

: o zaman sen de responseText değerleri okuyabilirsiniz

alert(responseText.whatever);

Ben bu yardımcı olmadığını biliyorum, ama ne link yanlış dönmek yok.

<a class="addToCart" href="javascript:void(0)" onclick="addToCart(<?php echo $productId?>); return false;">

Yanlış dönen tarayıcı linki takip olmayacak anlamına gelecektir. Bu şekilde belge alışkanlık yeniden.