Попытка отправить массив из jquery в функцию PHP - PullRequest
1 голос
/ 04 октября 2009

Я пытаюсь загрузить массив в моем JavaScript. Мне нужно отправить этот массив в каком-то формате в сценарий PHP, который я собираюсь вызвать. В приведенном ниже примере gSelectedMeds - мой массив. Значение count сообщит PHP-сценарию, сколько meds элементов следует ожидать получить. У меня проблемы с получением данных из массива в формате, который я могу отправить с помощью параметра данных $ .ajax. Любая помощь будет принята с благодарностью !!

Часть кода ниже, которая сейчас вызывает у меня горе, - это опция data:

$('#export').click(function() {
    $.ajax({
        url:'ajax-exportMeds.php',
        data: 
            {"number":gSelectedMeds.length},
            $.each(gSelectedMeds,
                function(intIndex, objValue){
                    {"med"+intIndex:objValue},
                }
            ),
        type: "GET",
        //dataType: "text",
        success: function(data){
            $('p#allMeds').text('');
            $('a.bank').text('');
            //clear array, bank and storedList divs
            $(this).text('');
            gSelectedMeds[] = '';
            //$('ul#storedList').fadeOut('fast');
            $('ul#storedList').text('');
            return false;
        },
    }),
});

Ответы [ 2 ]

4 голосов
/ 04 октября 2009

Вы должны отправить данные как json . Затем вы можете прочитать его, используя json_decode() в php> = 5.2.0

0 голосов
/ 06 октября 2009

Я закончил тем, что выстроил массив и отправил счет в конце URL, который я назвал:

$('#export').click(function() {
        $.each(gSelectedMeds, 
         function(intIndex, objValue) {
            i=intIndex + 1;
            if(i>1) {string+='&';}
            string+='med'+i+'="'+objValue+'"';
         }
       )

       string += "&count="+i;

        $.ajax({
            url: 'ajax-exportMeds.php?'+string,
            type: "GET",
            dataType: "text",
            success: function(data){
                  $('#dialog_layer').dialog({
                        autoOpen: true,                                                 
                        bgiframe: true,
                        modal: true,
                        closeOnEscape: true,
                        buttons: {
                            "OK": function() { $(this).dialog("close"); }
                        }      
                  })
             }
        })
    });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...