【问题标题】:Trying to send an array from jquery to PHP function尝试将数组从 jquery 发送到 PHP 函数
【发布时间】:2009-10-04 17:38:32
【问题描述】:

我正在尝试在我的 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;
        },
    }),
});

【问题讨论】:

    标签: php jquery arrays


    【解决方案1】:

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

    中使用json_decode() 阅读它

    【讨论】:

    • 我需要预先创建 JSON 吗?我将如何使用data 选项发送它?
    • 实际上,我只是使用了 'JSON.stringify',到目前为止似乎已经奏效了
    【解决方案2】:

    我最终将数组串起来并在我调用的 url 末尾发送一个计数:

    $('#export').click(function() { $.each(gSelectedMeds, 函数(intIndex,objValue){ i=intIndex + 1; if(i>1) {string+='&';} 字符串+='med'+i+'="'+objValue+'"'; } ) 字符串 += "&count="+i; $.ajax({ url: 'ajax-exportMeds.php?'+字符串, 类型:“获取”, 数据类型:“文本”, 成功:函数(数据){ $('#dialog_layer').dialog({ 自动打开:真, bgiframe:是的, 模态:真, closeOnEscape:真, 纽扣: { "OK": function() { $(this).dialog("close"); } } }) } }) });

    【讨论】:

    猜你喜欢
    • 2011-05-13
    • 2014-10-17
    • 2013-01-31
    • 2019-01-07
    • 2018-04-10
    • 2011-02-19
    • 1970-01-01
    • 2010-12-22
    • 1970-01-01
    相关资源
    最近更新 更多