$_POST 不是一种方法,它是一个超全局变量,因此您发送的值包含在 $_POST 中。$_POST 还可以包含多个值作为关联数组,在这些情况下,您可以使用诸如 $_POST['id'] 之类的键来获取值,该键表示与 $_POST 中的 'id' 键关联的数组索引。
您的逻辑中有几件事不太正确,首先,不要在单击复选框时发布值,除非只有一个并且您没有其他更好的方法来触发发布。如果有多个复选框,你可以有很多,而不仅仅是一个,所以你的第三行应该是这样的(注意数组):
$.post("ci_editor.php", [{ id: this.id, checked: this.checked }, { id: this.id2, checked: this.checked2 }] );
然后 $_POST 应该是数组本身,你只需要遍历它就可以了。
要处理不同数量的复选框,请尝试以下操作:
var payload = new Array();
$.each( $(":checkbox") , function( index, value ) {
//value holds the reference of the check box
if(value.attr('checked')){
//Build the object with whatever values from the checkbox you require.
payload.push( { id: value.id, checked: value.attr('checked') } )
}
})
并使用有效负载数组作为您的 $.post 有效负载。