2014-11-11 3 views
-4

Я должен отправить массивы через jQuery ajax. Как это сделать, используя json? Я пробовал:Отправка массивов через ajax jQuery

var type = []; 
    var direction = []; 
    var banks = []; 

    $(document).ready(function(){ 

     $("#compareBtn").click(function(){ 
      $.ajax({ 
       type: 'POST', 
       url: 'data.php', 

       success: function(data){ 
       alert(123); 
       }, 
       data: JSON.stringify(type) + JSON.stringify(direction) + JSON+stringify(banks) 
      }); 

     }); 
    }); 

И как мне получить данные из «data.php» ?. Спасибо

+0

просто отправить массив кладя {} Arround массиве ... параметр данных ожидает объект будет принят –

+1

«Но не работает »- вы не говорите? Конечно, вы бы не спросили, сработало ли это. «Не работает» ** совсем не полезно ** для тех, кто пытается вам помочь. Уточните свою проблему четко и ** точно. ** –

+0

Используйте его, как эти данные: {данные: данные, направление: направление, банки: банки} –

ответ

1

Вы должны передать все массивы с использованием объектной нотации и позволить jQuery автоматически закодировать его.

$.ajax({ 
    type: 'POST', 
    url: 'data.php', 
    dataType : 'json', 
    contentType : "application/json",    
    success: function(data){ 
    alert(123); 
    }, 
    data: { 
     type : type, 
     direction : direction, 
     banks : banks 
    } 
}); 

затем в data.php вы можете сделать что-то вроде этого

$type = json_decode($_POST["type"]); //to get the data 
... //work with the data 
echo json_encode($result); 
+0

data.php не работает, есть ли у вас какие-либо предположения почему? p.s. Все работает отлично, если писать только эхо «1», например, так что ошибка – zeitgeist

+0

«не работает» слишком широк ... что не работает точно? возможно, вы должны задать новый вопрос и связать его здесь –

+0

Нет предупреждения (123), вызывающего – zeitgeist

Смежные вопросы