2011-08-18 43 views
0

我試圖將數據添加到預先序列化的數組。它不工作。任何人都知道原因將值添加到序列化數組Jquery

$("#show-friends").live("click", function() { 
    var friendSelector = $("#jfmfs-container").data('jfmfs'); 
    var sendArr = $(friendSelector).serializeArray(); 


    sendArr.push({ name: "userid", value: "<?php echo $userId;?>" }); 
    sendArr.push({ name: "fid", value: "<?php echo $fid;?>" }); 
    $.post({ 
     url:'test.php', 
     data: sendArr, 
     }); 
}); 

編輯:我改變了我的代碼:

$("#show-friends").live("click", function() { 
    var friendSelector = $("#jfmfs-container").data('jfmfs'); 
    var sendArr = friendSelector.serializeArray(); 
     $.post({ 
      url:'test.php', 
      data: "name=<?php echo $userId;?>&fid=<?php echo $fid;?>&jsondata="+sendArr, 
      }); 
}); 

但是我得到一個錯誤friendSelector.serializeArray不是一個函數

+0

如果問題應該是那些'推'方法調用,我沒有看到他們有任何問題。發佈什麼? –

+0

我不知道我沒有看到任何東西被張貼。 *編輯:從不知道它返回爲空值 –

回答

1

$post調用不正確。你不會像$.ajax那樣傳遞一個對象。你傳遞網址,數據(如果有的話),然後回調(如果你想)。

它應該是:

$.post('test.php', sendArr); 

或者與$.ajax

$.ajax({ 
    url:'test.php', 
    data: sendArr, 
    type: 'POST' 
}); 

編輯:當你做$("#jfmfs-container").data('jfmfs'),這是回報你的jfmfs數據的價值。 friendSelector.serializeArray不起作用,因爲friendSelector是數據是什麼,而不是jQuery對象。

+0

謝謝!它的工作沒有問題,但我不能看到最新發布 –

+0

@Rory:你在哪裏看不到發佈的內容?你如何訪問它? –

+0

我試圖做傳統的var_dump php方法。我改變了我的代碼。見上面 –