Insert data menggunakan ajax terduplikat

Halo gan! saya ingin insert data tanpa refresh browser. Sebenarnya sudah bisa, tetapi mengapa data yang masuk ada dua?

Kode untuk insert :

$field =
                [
                    'comment' => $this->input->post('comment', true),
                    'name' => $data['user']['name'],
                    'user_id' => $data['user']['id'],
                    'post_id' => $data['single_post']['id'],
                    'date' => time()
                ];
            $this->db->insert('comments', $field);
            $this->session->set_flashdata('message', '<div class="alert alert-success" role="alert">Comment added!</div>');

Kode untuk ajax:

$('#sendMessageButton').on('click', function() {
        var data = $('#commentForm').serialize();
        $.ajax({
            url: "<?= base_url('blog/post/' . $single_post['slug']); ?>",
            type: 'post',
            data: data,
            success: function() {
                document.location.href = "<?= base_url('blog/post/' . $single_post['slug']); ?>"
            }
        });
    });

avatar mmuqiit
@mmuqiit

32 Kontribusi 5 Poin

Dipost 4 tahun yang lalu

Tanggapan

hey bikin judulnya sesuai pertnayan ya, misalnya "insert data menggunakan ajax terduplikat atau masuk dua kali"

Ohh iya maaf mas hilman hehe

1 Jawaban:

Jawaban Terpilih

Eh sudah solved ternyata harus pake event prevent default hehe

<pre> $('#sendMessageButton').on('click', function(e) { e.preventDefault(); var data = $('#commentForm').serialize(); $.ajax({ url: "&lt;?= base_url('blog/post/' . $single_post['slug']); ?&gt;", type: 'post', data: data, success: function() { document.location.href = "&lt;?= base_url('blog/post/' . $single_post['slug']); ?&gt;" } }); }); </pre>

avatar mmuqiit
@mmuqiit

32 Kontribusi 5 Poin

Dipost 4 tahun yang lalu

Tanggapan

terima kasih sudah share jawabannya, kalau bia dipaste juga kode yang mbenarnya diatas agar yang punya masalah sama, bisa punya referensi

Login untuk ikut Jawaban