2017-05-23 19 views
0

おはようございます。JavaScript、Ajax - JavaScriptのコードでAjaxの関数が正しく動作しないのはなぜですか?

私はCodeigniterフレームワークでいくつかのWebプロジェクトを持っています。 ラジオボタンで値を入力するタグを挿入するフィールドセットがあります。 私はすべての単一フィールドセットに対していくつかのウィザード機能を使用しています。 各ウィザードの最後に、ボタンがあります。 このボタンにjavaScript関数を追加します。 javaScript関数では、Ajax関数をいくつか追加します。 Ajax関数は、 "view"から "controller"にいくらかの値を送ることができます。 その後、 "コントローラ"で "モデル"のデータをデータベースに保存します。

なぜ私は前に作ったajax関数を使ってデータをデータベースに保存できないのですか?

これは、「ビュー」(JavaScriptとAJAX)

function prosesFieldset1(){ 
     var radios = document.getElementsByName('f3'); 
     for (var r=0, length = radios.length; r < length; r++){ 
      if(radios[r].checked){ 
       var dataf3 = radios[r].value; 
       if (dataf3 == 1 || dataf3 == 2){ 
        _('fieldset1').style.display = 'none'; 
        _('fieldset2').style.display = 'block'; 
        _('progressBar').value = 25; 
       }else{ 
        _('fieldset1').style.display = 'none'; 
        _('fieldset3').style.display = 'block'; 
        _('progressBar').value = 25; 
       } 
      } 
     } 
     var f3 = dataf3; 
     $.ajax({ 
      url  : "<?php echo site_url('TracerStudy/masuk_data_ts');?>", 
      type : 'post', 
      data : {'f3' : f3, 'proses' : 1}, 
      success : function(data){ 
       console.log(data); 
      }, 
     }); 
    } 

これは新しい変数にそれらを復元し、データベースに保存する「ビュー」にアヤックスからデータを取得するための「コントローラ」(TracerStudyがあります/ masuk_data_ts)

public function masuk_data_ts(){ 
$f3 = $this->input->post('f3'); 
$proses = $this->input->post('proses'); 

if($proses == 1){ 
    $id_alumni = $this->session->userdata('id_alumni'); 
    $udah = $this->TracerStudy_model->get_data_ts($id_alumni); 
    if($udah = 1){ 
    $data = array(
     'id_alumni_fk' => $this->session->userdata('id_alumni'), 
     'f3' => $f3 
    ); 
    // $proses = 0; 
    $this->TracerStudy_model->update_data_ts($data); 
    } 
    else{ 
    $data = array(
     'id_alumni_fk' => $this->session->userdata('id_alumni'), 
     'f3' => $f3, 
     'status' => $proses 
    ); 
    // $proses = 0; 
    $this->TracerStudy_model->simpan_data_ts($data); 
    } 
} 

これは、データベースにデータを保存するための "モデル" である(TracerStudy_model/simpan_data_ts)

public function simpan_data_ts($data){ 
    $this->db->insert("tracer_study", $data); 
} 

私は何か提案し、この問題の解決に感謝しています。 皆さんありがとう、皆さん、ありがとうございます。今日は素敵な一日を過ごしてください。

+0

実際には、変数が最初に必要な値になっているかどうかを確認することをお勧めします。問題がどこから始まるのかを検出するのに役立ちます。 – Ukasyah

+0

私はPHPを知らないが、何かがURLはまだ無効であると私に伝えます。 – Darkrum

+0

@Ukasyahありがとう、あなたの提案から、私はこの問題を作る変数をチェックする必要がありますか? – hambaBiasa

答えて

0
$.ajax({ 
     url  : "<?php echo site_url('TracerStudy/masuk_data_ts');?>", 
     type : 'post', 
     data : {f3 : f3, proses : 1}, 
     success : function(data){ 
      console.log(data); 
     }, 
    }); 

「f3」、「proses」はデータのように使用しないでください。

関連する問題