Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/75.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 单击按钮时,函数不调用ajax请求_Javascript_Jquery_Ajax_Codeigniter - Fatal编程技术网

Javascript 单击按钮时,函数不调用ajax请求

Javascript 单击按钮时,函数不调用ajax请求,javascript,jquery,ajax,codeigniter,Javascript,Jquery,Ajax,Codeigniter,我有一个按钮,如下所示: <a class="action submit btn btn-danger btn-lg pull-right" onclick="return simpan_akhir();"><i class="glyphicon glyphicon-stop"></i> Selesai Ujian</a> 下面是函数: simpan_akhir = function() { if (confirm('An

我有一个按钮,如下所示:

<a class="action submit btn btn-danger btn-lg pull-right" onclick="return simpan_akhir();"><i class="glyphicon glyphicon-stop"></i> Selesai Ujian</a>
下面是函数:

simpan_akhir = function() {
            if (confirm('Anda yakin akan mengakhiri tes ini..?')) {
                var f_asal = $("#_form");
                var form = getFormData(f_asal);

                $.ajax({
                    type: "POST",
                    url: base_url + "adm/ikut_ujian/simpan_akhir/" + id_tes,
                    data: JSON.stringify(form),
                    dataType: 'json',
                    contentType: 'application/json; charset=utf-8'
                }).done(function(r) {
                    if (r.status == "ok") {
                        window.location.assign("<?php echo base_url(); ?>adm/sudah_selesai_ujian/" + id_tes);
                    }
                });

                return false;
            }
为什么单击按钮时不调用ajax? 下面是adm/ikut_ujian/simpan_akhir内部的内容:

else if ($uri3 == "simpan_akhir") {
            $p          = json_decode(file_get_contents('php://input'));

            $jumlah_soal = $p->jml_soal;
            $jumlah_benar = 0;
            $nilai_twk = 0;
            $nilai_tiu = 0;
            $nilai_tkp = 0;
            //$jumlah_bobot = 0;
            $update_ = "";
            //nilai bobot 
            $array_bobot    = array();
            $array_nilai    = array();
            for ($i = 1; $i < $p->jml_soal; $i++) {
                $_tjawab    = "opsi_" . $i;
                $_tidsoal   = "id_soal_" . $i;
                $jawaban_   = empty($p->$_tjawab) ? "" : $p->$_tjawab;
                $cek_jwb    = $this->db->query("SELECT id_mapel,bobot,bobot_a,bobot_b,bobot_c,bobot_d,bobot_e, jawaban FROM m_soal WHERE id = '" . $p->$_tidsoal . "'")->row();
                //untuknilai bobot
                $bobotnya   = $cek_jwb->bobot;
                $array_bobot[$bobotnya] = empty($array_bobot[$bobotnya]) ? 1 : $array_bobot[$bobotnya] + 1;

                $q_update_jwb = "";
                if ("A" == $jawaban_) {
                    //jika jawaban benar
                    $jumlah_benar = $jumlah_benar + $cek_jwb->bobot_a;
                    $array_nilai[$bobotnya] = empty($array_nilai[$bobotnya]) ? 1 : $array_nilai[$bobotnya] + 1;
                    $q_update_jwb = "UPDATE m_soal SET jml_benar = jml_benar + 1 WHERE id = '" . $p->$_tidsoal . "'";
                    if ($cek_jwb->id_mapel == 1) {
                        $nilai_twk = $nilai_twk + $cek_jwb->bobot_a;
                    }
                    if ($cek_jwb->id_mapel == 2) {
                        $nilai_tiu = $nilai_tiu + $cek_jwb->bobot_a;
                    }
                    if ($cek_jwb->id_mapel == 3) {
                        $nilai_tkp = $nilai_tkp + $cek_jwb->bobot_a;
                    }
                } else if ("B" == $jawaban_) {
                    //jika jawaban benar
                    // $jumlah_benar++;
                    $jumlah_benar = $jumlah_benar + $cek_jwb->bobot_b;
                    $array_nilai[$bobotnya] = empty($array_nilai[$bobotnya]) ? 1 : $array_nilai[$bobotnya] + 1;
                    $q_update_jwb = "UPDATE m_soal SET jml_benar = jml_benar + 1 WHERE id = '" . $p->$_tidsoal . "'";
                    if ($cek_jwb->id_mapel == 1) {
                        $nilai_twk = $nilai_twk + $cek_jwb->bobot_b;
                    }
                    if ($cek_jwb->id_mapel == 2) {
                        $nilai_tiu = $nilai_tiu + $cek_jwb->bobot_b;
                    }
                    if ($cek_jwb->id_mapel == 3) {
                        $nilai_tkp = $nilai_tkp + $cek_jwb->bobot_b;
                    }
                } else if ("C" == $jawaban_) {
                    //jika jawaban benar
                    // $jumlah_benar++;
                    $jumlah_benar = $jumlah_benar + $cek_jwb->bobot_c;
                    $array_nilai[$bobotnya] = empty($array_nilai[$bobotnya]) ? 1 : $array_nilai[$bobotnya] + 1;
                    $q_update_jwb = "UPDATE m_soal SET jml_benar = jml_benar + 1 WHERE id = '" . $p->$_tidsoal . "'";
                    if ($cek_jwb->id_mapel == 1) {
                        $nilai_twk = $nilai_twk + $cek_jwb->bobot_c;
                    }
                    if ($cek_jwb->id_mapel == 2) {
                        $nilai_tiu = $nilai_tiu + $cek_jwb->bobot_c;
                    }
                    if ($cek_jwb->id_mapel == 3) {
                        $nilai_tkp = $nilai_tkp + $cek_jwb->bobot_c;
                    }
                } else if ("D" == $jawaban_) {
                    //jika jawaban benar
                    // $jumlah_benar++;
                    $jumlah_benar = $jumlah_benar + $cek_jwb->bobot_d;
                    $array_nilai[$bobotnya] = empty($array_nilai[$bobotnya]) ? 1 : $array_nilai[$bobotnya] + 1;
                    $q_update_jwb = "UPDATE m_soal SET jml_benar = jml_benar + 1 WHERE id = '" . $p->$_tidsoal . "'";
                    if ($cek_jwb->id_mapel == 1) {
                        $nilai_twk = $nilai_twk + $cek_jwb->bobot_d;
                    }
                    if ($cek_jwb->id_mapel == 2) {
                        $nilai_tiu = $nilai_tiu + $cek_jwb->bobot_d;
                    }
                    if ($cek_jwb->id_mapel == 3) {
                        $nilai_tkp = $nilai_tkp + $cek_jwb->bobot_d;
                    }
                } else if ("E" == $jawaban_) {
                    //jika jawaban benar
                    // $jumlah_benar++;
                    $jumlah_benar = $jumlah_benar + $cek_jwb->bobot_e;
                    $array_nilai[$bobotnya] = empty($array_nilai[$bobotnya]) ? 1 : $array_nilai[$bobotnya] + 1;
                    $q_update_jwb = "UPDATE m_soal SET jml_benar = jml_benar + 1 WHERE id = '" . $p->$_tidsoal . "'";
                    if ($cek_jwb->id_mapel == 1) {
                        $nilai_twk = $nilai_twk + $cek_jwb->bobot_e;
                    }
                    if ($cek_jwb->id_mapel == 2) {
                        $nilai_twk = $nilai_tiu + $cek_jwb->bobot_e;
                    }
                    if ($cek_jwb->id_mapel == 3) {
                        $nilai_twk = $nilai_tkp + $cek_jwb->bobot_e;
                    }
                } else {
                    //jika jawaban salah
                    $array_nilai[$bobotnya] = empty($array_nilai[$bobotnya]) ? 0 : $array_nilai[$bobotnya] + 0;
                    $q_update_jwb = "UPDATE m_soal SET jml_salah = jml_salah + 1 WHERE id = '" . $p->$_tidsoal . "'";
                }

                $this->db->query($q_update_jwb);

                $update_    .= "" . $p->$_tidsoal . ":" . $jawaban_ . ",";
            }
            //perhitungan nilai bobot
            ksort($array_bobot);
            ksort($array_nilai);
            $nilai_bobot_benar = 0;
            $nilai_bobot_total = 0;
            foreach ($array_bobot as $key => $value) {
                $nilai_bobot_benar = $nilai_bobot_benar + ($key * $array_nilai[$key]);
                $nilai_bobot_total = $nilai_bobot_total + ($key * $array_bobot[$key]);
            }
            $update_        = substr($update_, 0, -1);
            // $nilai = ($jumlah_benar / ($jumlah_soal - 1)) * 100;
            $nilai = $jumlah_benar;
            $nilai_bobot = ($nilai_bobot_benar / $nilai_bobot_total) * 100;

            /*
            echo var_dump($array_bobot);
            echo var_dump($array_nilai);
            echo "Benar bobot : ".$nilai_bobot_benar."<br>";
            echo "Jml bobot : ".$nilai_bobot_total."<br>";
            echo "Nilai bobot : ".$nilai_bobot."<br>";
            //akhir perhitungan nilai bobot
            exit;
            */
            $this->db->query("UPDATE tr_ikut_ujian SET jml_benar = " . $jumlah_benar . ", nilai_bobot = " . $nilai_bobot . ", nilai = '" . $nilai . "', list_jawaban = '" . $update_ . "', status = 'N',nilai_twk='" . $nilai_twk . "',nilai_tiu='" . $nilai_tiu . "',nilai_tkp='" . $nilai_tkp . "' WHERE id_tes = '$uri4' AND id_user = '" . $a['sess_konid'] . "'");
            $a['status'] = "ok";
            j($a);
            exit;
起初我认为ajax没有成功调用是因为查询不工作,这是事实,查询不工作。然后我尝试删除一些代码行,只返回$a['status']=ok,但它不起作用。

/p>/u忘记这个}

simpan_akhir=函数{如果确认‘安达·雅金将在这方面取得进展?’{ var f_asal=$形式; var form=getFormDataf_asal

                $.ajax({
                    type: "POST",
                    url: base_url + "adm/ikut_ujian/simpan_akhir/" + id_tes,
                    data: JSON.stringify(form),
                    dataType: 'json',
                    contentType: 'application/json; charset=utf-8'
                }).done(function(r) {
                    if (r.status == "ok") {
                        window.location.assign("<?php echo base_url(); ?>adm/sudah_selesai_ujian/" + id_tes);
                    }
                });

                return false;
            }
        }//u forget this
//你忘了这个}

simpan_akhir=函数{如果确认‘安达·雅金将在这方面取得进展?’{ var f_asal=$形式; var form=getFormDataf_asal

                $.ajax({
                    type: "POST",
                    url: base_url + "adm/ikut_ujian/simpan_akhir/" + id_tes,
                    data: JSON.stringify(form),
                    dataType: 'json',
                    contentType: 'application/json; charset=utf-8'
                }).done(function(r) {
                    if (r.status == "ok") {
                        window.location.assign("<?php echo base_url(); ?>adm/sudah_selesai_ujian/" + id_tes);
                    }
                });

                return false;
            }
        }//u forget this
这是我的工作

点击下面的链接,即可轻松理解这是我的工作


点击下面的链接,即可轻松理解

检查网络请求。请求是否与响应无关?检查网络请求、函数中的console.log,并使用断点。了解如何使用Chrome断点会让您更快乐。同时,再次检查您的函数是否为全局函数。检查window.simpan_akhir是定义的,是一个函数。如果函数是全局的,你只能从这样的按钮调用函数。什么是j$a;?检查网络请求。请求是否是不管响应而发出的?检查网络请求,函数中的console.log,并使用断点。弄清楚如何使用Chrome断点会让你更快乐。还有仔细检查您的函数是否为全局函数。检查window.simpan_-akhir是否已定义且是否为函数。如果函数是全局函数,则只能从此类按钮调用函数。什么是j$a?