i'm trying to post a form containing an input text, a textarea, and 14 checkbox with ajax. The idea is to insert some data according to the number of checked checkbox into table dbdata.
Here is the script.js :
$(document).on('click', '#save', function(event) {
//action
var url     = "aksi.php";
//an input text
var v_id    = $('input:text[name=id]').val();
//a textarea
var v_note  = $('#note').val();
//some checkboxes
var v_checkbox =[]
    $("input[name='checkbox[]']:checked").each(function ()
    {
        v_checkbox.push(parseInt($(this).val()));
    });
//ajax
$.ajax({
        url: url,
        type: "POST",
        data: {id: v_id,note: v_note,checkbox:v_checkbox },
        success: function (data, status){
            alert("success!")
        },
        error: function(xhr,err){
            alert("readyState: "+xhr.readyState+"\nstatus: "+xhr.status);
            alert("responseText: "+xhr.responseText);
        }
    });
});
This is the aksi.php :
require "../../config/db.php";
$id=$_POST['id'];
$checkbox= $_POST['checkbox'];
$note=$_POST['note'];
foreach ($checkbox as $key => $check_box) {
mysqli_query($con,"INSERT INTO dbdata(id, checkbox, note) VALUES($id, $check_box, '$note')");
}
The problem is the data never posted. The ajax thrown error (readyState=0, status=0) and data not inserted. The url also changed to :
index.php?checkbox[]=3&checkbox[]=4&checkbox[]=5
depend on which checkbox are checked. Any idea?
 
    