通过ajax发送相同名称的多个复选框值

Nis*_*dke 2 javascript php ajax jquery

我有多个复选框输入元素.

<input type="checkbox" name="userpages[]" id="1" value="1"/>
<input type="checkbox" name="userpages[]" id="2" value="2"/>
<input type="checkbox" name="userpages[]" id="3" value="3"/>
<input type="checkbox" name="userpages[]" id="4" value="4"/>
Run Code Online (Sandbox Code Playgroud)

我想通过Ajax将checked元素的值传递给php脚本.我试过这样做 -

var pages = $('input[name="userpages[]"]:checked');
    $.ajax({
    type: 'POST',
    url: 'post.php',
    data: {pages: pages},
    dataType: 'json',
    success: function(data) {
        if(data.status == 1) {
            alert('Successfully posted on your Facebook pages !');
        } else if(data.status == 0) {
            alert('Error !! Please try again.');
        } else {
            alert('Unknown Error. Reloading this page now...');
            location.reload();
         }
            }
    });
Run Code Online (Sandbox Code Playgroud)

并在PHP脚本中检索值 -

  foreach($_POST['pages'] as $page_id) {
    echo $page_id;
  }
Run Code Online (Sandbox Code Playgroud)

但这对我没有用.我也试过获取变量的值pages,当它被警告时弹出'object Object'.任何帮助都会很明显.:)

小智 5

                var checked = []
        $("input[name='userpages[]']:checked").each(function ()
        {
            checked.push(parseInt($(this).val()));
        });
Run Code Online (Sandbox Code Playgroud)