0

セッション配列$_SESSION['Cartquantity'] があります。200行目のphpファイルでは、この配列を変数 $QtyArrayに格納しています。

$QtyArray = $_SESSION['Cartquantity'] ;

次に、配列を jsonでエンコードして、 jsファイルで使用します

echo "var cartQty = " . json_encode($QtyArray) . ";" ; (on line 201)

今、AJAXを介して、同じ方法で120行目のセッション配列を更新しています

$QtyArray = $_SESSION['Cartquantity'] ;                (on line 120)
echo "var cartQty = " . json_encode($QtyArray) . ";" ; (on line 121)

firebugのコンソールでこれを見ることができるので、配列は明らかに更新されています。しかし、jsファイルでこの値を取得しているとき、値は変化しません。この値を ajax 経由で更新するページをリロードしてから、数量を表示すると、変更されます。なぜそれが起こっているのですか?

助けてください!!!

4

2 に答える 2

0

変化する

echo "var cartQty = " . json_encode($QtyArray) . ";" ;// (on line 121)

echo json_encode($QtyArray);

次に、このように ajax 呼び出しを行います

$.ajax({
    url:"index.php",
    cache:false, 
    dataType:'json',
    data:{ q: "add_card", item_id: id, item_qty: qty, topping_extra_v: topping_extra_val,item_syskey:syskey },
    function(data){
        cartQty = data;
    }
});
于 2013-03-10T06:55:35.577 に答える
0

次のように、ajax 呼び出しでキャッシュを無効にしてください。

$.ajax({
   url: "test.html",
   cache: false  //DISABLE CACHING
}).done(function( html ) {
   $("#results").append(html);
});

更新:
ここで、キャッシュオプションを使用して.get()呼び出しを適応させます:.ajax()

$.ajax({
   url: "index.php",
   data: { q: "add_card", item_id: id, item_qty: qty, topping_extra_v: topping_extra_val,item_syskey:syskey },
   cache: false  //DISABLE CACHING
}).done(function( data ) {
   alert(data);
});
于 2013-03-10T06:31:44.040 に答える