2017-08-10 82 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来自于此(因为它是复选框的名称)。

我现在纠正了这一点,它工作正常。

非常感谢您的帮助。