2017-08-10 127 views
3

我送一個數組來命名update.php並在此腳本它的工作的所有先前版本的PHP文件,但對於一些奇怪的原因,它是不是在這種情況下工作。PHP阿賈克斯發送陣列

以下是文件:

var phpLocation = '/admin/_backend' + $(this).attr("action"), 
    usergroup = $('input:hidden[name="usergroup"]').val(), 
    serializedData = $('input:checkbox[name="permission"]:checked').map(function() { 
         return this.value; 
         }).get(); 

var ajaxData = {'usergroup_permissions': serializedData, 'usergroup' : usergroup}; 

$.ajax({ 
    type: "POST", 
    url: phpLocation, 
    data: ajaxData, 
    success: function(data){ 
     $("#post_reply").html(data); 

     console.log(ajaxData); 
    } 
}); 

當試圖抓住並把usergroup_permissions從數組以逗號分隔的列表,它似乎並沒有工作。

即使使用$_POST['usergroup_permissons']當它似乎並沒有工作..

$permission_list = implode(",", $_POST['usergroup_permissions']); 

編輯
這是執行console.log輸出
enter image description here

print_r($_POST);回報:

enter image description here

+1

什麼是序列化數據末尾的.get()?我們可以看到console.log(serializedData)的結果嗎?另外,是否在DOM被繪製後運行該腳本? – Salketer

+0

@Salketer誠實的事實是我不太確定,但它在獲取數組中起作用。我將編輯原始文章以包含'console.log(ajaxData);' –

+0

好的,我們可以看到$ _POST的內容嗎?你可以檢查網絡標籤,它實際上發送? – Salketer

回答

0

我發現在腳本的其他地方我調用了整個窗體的序列化,所以第二個圖像中的permission來自於此(因爲它是複選框的名稱)。

我現在糾正了這一點,它工作正常。

非常感謝您的幫助。