2016-04-11 17 views
0

Bir AJAX çağrısında 5 diziyi işlemem gerekiyor, ancak yalnızca iki tanesi deşifre ediliyor. Bunu bir buçuk gün boyunca ayıklamaya çalışıyorum ve nedenini çözemiyorum. Aşağıdaki kodu Bu diziler, tamam aşağıdaki sunucu tarafı kod benim test kolaylaştırmak için aşağı soyulmuş geçerajax çağrısının istemci tarafında birden fazla dizinin nasıl işleneceği

function postrates(){ 
    if(changearray.length>0){ 
    $.ajax({ 
     type:'POST', 
     async:false, 
     url:"xml_postdailyrate.php", 
     data:{ 
      'changearray':JSON.stringify(changearray), 
      'minarray ':JSON.stringify(minarray), 
      'lockarray ':JSON.stringify(lockarray), 
      'costarray ':JSON.stringify(costarray), 
      'availarray':JSON.stringify(availarray) 
     }, 
     success:function(JSON){ 
      changearray=[]; 
      availarray =[]; 
      costarray =[]; 
      minarray =[]; 
      lockarray =[]; 
     }, 
     error:function(){ 
      alert('Failed'); 
     } 
    }) 
    } 
} 

ile AJAX arama yapmak.

<?php 
    header("Content-Type: application/json"); 
    $changearray="Empty"; 
    $availarray="Empty"; 
    $minarray="Empty"; 
    $lockarray="Empty"; 
    $costarray="Empty"; 
    if(isset($_POST['changearray'])){ 
     $changearray=json_decode($_POST['changearray']); 
    } 
    if(isset($_POST['availarray'])){ 
     $availarray=json_decode($_POST['availarray']); 
    } 
    if(isset($_POST['minarray'])){ 
     $minarray=json_decode($_POST['minarray']); 
    } 
    if(isset($_POST['lockarray'])){ 
     $lockarray=json_decode($lock); 
    } 
    if(isset($_POST['costarray'])){ 
     $costarray=json_decode($_POST['lockarray']); 
    } 
    $arr['changearray'] =$changearray; 
    $arr['availarray'] =$availarray; 
    $arr['minarray'] =$minarray; 
    $arr['lockarray'] =$lockarray; 
    $arr['costarray'] =$costarray; 
    $arr = json_encode($arr); 
    echo("$arr"); 

Kundakçı "post" sekmesi, 5 diziler doğru

changearray [63291,63368,63292] 
minarray ["7","9","8"] 
lockarray ["X","X","X"] 
costarray ["4","6","5"] 
availarray ["1","3","222"] 

olarak Kundakçı "JSON" sekmesi

changearray [63291, 63368, 63292] 
0   63291 
1   63368 
2   63292 
availarray ["1", "3", "222"] 
0   "1" 
1   "3" 
2   "222" 
minarray "Empty" 
lockarray "Empty" 
costarray "Empty" 

o minarray kodunu çözmez neden dışarı bulamıyorum görüntüler lockarray, costarray.

Sorunumu okumak için zaman ayırdığınız için teşekkür ederiz.

+0

Gönderilen siparişin herhangi bir etkisi var mı? php ile başlayan var_dump ($ _ POST); ' –

+0

' json_decode ($ lock); 'json_decode ($ _ POST ['lockarray']) olmalıdır;' – Barmar

cevap

1

"minarray" anahtarını kullanmıyorsanız, "minarray " tuşunu kullanın (boşlukları dikkate alın). Diğer iki diziler için de aynı.

+0

iyi tespit .. –

+0

Sorun düzeltildi. :) – JHH

+0

@JHH Güzel. Sabit olduğuna sevindim. – Chris

İlgili konular