jquery构建数组不起作用

时间:2013-07-09 04:09:55

标签: php jquery ajax arrays json

我正在尝试构建一个数据数组,然后使用post到php的ajax - 下面是我的代码:

$('#mainBodySaveSubmitButtonProfilePhotoIMG').click(function() {
    var profilePhotoArray = [];
    $('.mainUnapprovedProfilePhotoWrapperDIV').each(function() {
        var action = '';
        alert( this.id );

        if($('.mainUnapprovedProfilePhotoAttractiveIMG', this).is(':visible')) {
            alert('attractive...');
            action = 'attractive';
        }
        else if($('.mainUnapprovedProfilePhotoDeleteIMG', this).is(':visible')) {
            alert('delete...');
            action = 'delete';
        }else{
            alert('normal...');
            action = 'normal';
        }
        profilePhotoArray[this.id+'_'+this.id] = action;
    });

    alert(profilePhotoArray.length);

    for (i=0;i<profilePhotoArray.length;i++) {
        console.log("Key is "+i+" and Value is "+array[i]);
    }


    $.post('scripts/ajax/ajax_approval_functions.php', {
    'approvalProfilePhotos': '1',
    'approvalProfilePhotosData': profilePhotoArray},
    function(data) {
        alert(data);
    });
});

if,else if,else部分工作正常,因为我可以看到警报。

当我尝试提醒数组长度'profilePhotoArray'时,它说0,所以我没有正确填充数组。我需要使用.push()吗?我以为这种格式还可以吗?

在通过ajax发送到php之前,我还需要对数组做什么吗?

三江源

**编辑 - 我正在添加“profilePhotoArray [this.id +'_'+ this.id] = action;” this.id两次只是为了证明这个词,因为我将传递这样的第二个变量...我最好使用JSON吗?

1 个答案:

答案 0 :(得分:3)

Javascript数组使用数字索引,因此您的存储失败。使用javascript对象存储基于字符串的键。

var lang=new Object();
lang["foo"]="Foo";
lang["bar"]="Bar";