尝试将数组从jquery发送到PHP函数

时间:2009-10-04 17:38:32

标签: php jquery arrays

我正在尝试在我的javascript中加载数组。我需要以某种格式将此数组发送到我要调用的PHP脚本。在下面的示例中,gSelectedMeds是我的数组。值count将告诉PHP脚本期望接收多少meds项。我无法将数组中的数据转换为可以通过$ .ajax的数据选项发送的格式。任何帮助将不胜感激!!

下面的代码部分让我感到悲痛的是数据选项:

$('#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 个答案:

答案 0 :(得分:4)

您应该将数据发送为json。然后你可以在php> = 5.2.0

中使用json_decode()来阅读它

答案 1 :(得分:0)

我最终将数组排出并在我调用的网址末尾发送一个计数:

$('#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"); }
                        }      
                  })
             }
        })
    });