2016-05-31 5 views
2

Я хочу отправить форму с помощью функции ajax в mysql, но моя попытка дает мне результаты NULL в таблице mysql.данные возврата javascript после функции успеха

Вот мой JavaScript:

function pesan() 
 
    { 
 
     email = $("#email").val(); 
 
     from_nama = $("#from_nama").val(); 
 
     from_phone = $("#from_phone").val(); 
 

 
     $.ajax 
 
     ({ 
 
      url : "<?php echo site_url('kirim/undangan')?>/", 
 
      type: "POST", 
 
      dataType: "JSON", 
 
      success: function(data) 
 
      {  
 
       $('#alert').show(); 
 
       $('#email'+data).html(data.email); 
 
       $('#from_nama'+data).html(data.from_nama); 
 
       $('#from_phone'+data).html(data.from_phone); 
 
      }, 
 
      error: function (jqXHR, textStatus, errorThrown) 
 
      { 
 
       alert('Error upload data'); 
 
      } 
 

 
     }); 
 
    }

И форма:

 <h4 id="form">Data Personal</h4> 
 

 
          <div class="col-sm-4"> 
 
           <input type="email" class="form-control input-lg" id="email" name="email" placeholder="Email" required> 
 
          </div> 
 

 
          <div class="col-sm-4"> 
 
           <input type="text" class="form-control input-lg" id="from_nama" name="from_nama" placeholder="Nama" required> 
 
          </div> 
 

 
          <div class="col-sm-4"> 
 
           <input type="number" class="form-control input-lg" id="from_phone" name="from_phone" placeholder="Phone" required> 
 
          </div> 
 
          <div> 
 
           <input type="hidden" name="id" id="id" /> 
 
          </div> 
 
          <br> 
 
          <div class="row" align="center"> 
 
           
 
            <button id="pesan" type="button" class="btn btn-download btn-md" onclick=pesan()> 
 
            <span class="glyphicon glyphicon-send" aria-hidden="true" ></span> 
 
            Pesan 
 
            </button>

Вот контроллер:

function undangan() 
 
\t { \t 
 
\t \t \t $email   = $this->input->post('email'); 
 
\t \t \t $from_nama \t \t = $this->input->post('from_nama'); 
 
\t \t \t $from_phone \t \t = $this->input->post('from_phone'); 
 

 
\t \t \t $data_user = array(
 

 
\t \t \t \t 'email' \t \t \t \t \t \t \t => $email, 
 
\t \t \t \t 'name'  \t \t \t \t \t => $from_nama, 
 
\t \t \t \t 'phone' \t \t \t \t \t \t => $from_phone, 
 
\t \t \t \t 'status'   \t \t \t \t => '0', 
 
\t \t \t \t 'unique_id' \t   \t \t => uniqid() 
 

 
\t \t \t ); 
 

 
      $this->load->model('excel'); 
 
      
 
\t \t \t $this->excel->tambahuser($data_user); 
 
     
 
\t \t \t 
 
\t \t $this->load->view('kirimundangan.php',$data); 
 
\t }

Модель:

function tambahuser($data_user) 
 
     { 
 
      $this->db->insert('request', $data_user); 
 
      $this->db->insert_id(); 
 
      
 
      foreach ($data_user as $key)  
 
      { 
 
       $data = array(
 
        
 
        'from_name'   => $this->input->post('from_nama'), 
 
        'from_phone'   => $this->input->post('from_phone') 
 
       ); 
 
      } 
 
       
 
     }

Я думаю, что я сделал ошибку в написании кода внутри успеха: функция (данные), любая помощь?

+1

Вы не отправляете адрес электронной почты, from_nama, from_phone в ajax? вот почему ничего не спасает в БД и не добавляет код на стороне сервера – Thorin

+0

Я пробую код выше, но он дает мне NULL для каждого поля в таблице :( – may

+0

вы имеете в виду email = $ ("# email"). val() eq to null? когда вы добавляете предупреждение о java-скрипте? и добавляете код на стороне сервера – Thorin

ответ

1

функция Изменить peson в

function pesan() 
    { 
     var email = $("#email").val(), 
      from_nama = $("#from_nama").val(), 
      from_phone = $("#from_phone").val(); 

     $.ajax 
     ({ 
      url : "<?php echo site_url('kirim/undangan')?>/", 
      type: "POST", 
      dataType: "JSON", 
      data:{from_nama: from_nama, email: email, from_phone: from_phone}, 
      success: function(data) 
      {  
       $('#alert').show(); 
       $('#email'+data).html(data.email); 
       $('#from_nama'+data).html(data.from_nama); 
       $('#from_phone'+data).html(data.from_phone); 
      }, 
      error: function (jqXHR, textStatus, errorThrown) 
      { 
       alert('Error upload data'); 
      } 

     }); 
    } 

и вы ожидаете ответа JSon, так что вы должны изменить свой код на стороне сервера, а также и оттуда вы должны вернуть данные с JSON не с целью. Я надеюсь, что это сработает для вас

+0

теперь данные загружены в базу данных, но почему я получаю предупреждение об ошибке? – may

+0

вам нужно вернуть данные с json, как $ json = json_encode ($ data); затем echo $ json; – Thorin

+0

внутри успех функция? или контроллер? – may

Смежные вопросы