2013-04-08 57 views
0

我通過ajax加載的json編碼信息存在問題。我將多JSON傳遞給ajax以顯示字段值。我們如何在Ajax中編碼多JSON數據響應

如何從json中使用查詢ajax獲取字段值。

Ajax代碼:

    ....success:function(data){ 
        var TotalBuyPrice = 0; 
        var TotalItem = 0; 
        $.each(data, function(c,cart){ 

         //Condition follow 1 
         var InStockQty =cart.products_qty; 
         alert(InStockQty); 

         //And also follow 2 
         var name =cart["withoutdiscount"][0]["products_name"]; 
         alert(name); 

        }); 
        }... 

PHP代碼:

這些是使用陣列以下對JSON response.By我的步驟中收集的結果

 $response = array(); 
     $response['withoutdiscount'] = $withoutdiscount; 
     $response['withdiscount'] = $withdiscount; 

     echo $_GET['jsoncallback'] . '(' . json_encode($response). ');'; 

jsoncallback:

  ({"withoutdiscount":[{"products_id":"1","products_name":"Lumia"}], 
      "withdiscount":[{"products_id":"2","discount_qty":"8"}, 
          {"products_id":"3","discount_qty":"1"} 
          ] 
      }); 

回答

0

我解決這個問題是這樣的: 使用PHP文件中得到這樣一個回答:

$response = array(); 
    $response['withoutdiscount'] = $withoutdiscount; 
    $response['withdiscount'] = $withdiscount; 

    echo $_GET['jsoncallback'] . '(' . json_encode($response). ');'; 

jsoncallback:// JSON響應

 ({"withoutdiscount":[{"products_id":"1","products_name":"Lumia"}], 
     "withdiscount":[{"products_id":"2","discount_qty":"8"}, 
         {"products_id":"3","discount_qty":"1"} 
         ] 
     }); 

使用AJAX調用函數像這樣JSON響應:

 function querySuccess(tx,results) { 
      var jsonString = JSON.stringify(results); 
      $.ajax({ 
       url:'getcart.php', 
       data: {data : jsonString}, 
       dataType: 'jsonp', 
       jsonp: 'jsoncallback', 
       timeout: 5000, 
       success:function(data){ 
        var withdiscount=data.withdiscount; 
        var withoutdiscount=data.withoutdiscount; 
       if(withdiscount!='') 
       { 
        $.each(withdiscount, function(c,cart){ 
         var discount_qty =cart.discount_qty; 
         alert(discount_qty); 
        ); 
       } 
       if(withoutdiscount!='') 
       { 
        $.each(withoutdiscount, function(c,cart){ 
         var products_name =cart.products_name; 
          alert(products_name); 
        }); 
       } 
       } 
      }); 
     } 

這是與我合作。

注意:只有2個JSON響應是通過,所以我直接給出。