2017-02-03 6 views
-1

Я новичок в ajax. Я хочу добавить два поля, используя ajax и codeigniter. Когда я нажимаю кнопку отправки, добавляются два поля, но предупреждающее сообщение не отображается, и страница не освежает. Может ли один решить мою проблему .. Спасибо заранее ..Предупреждение ajax не работает с использованием codeigniter

Это моя форма

<form action="" id="suggestionsform" method="post"> 
       <div class="form-group"> 
        <label for="suggname">Name</label> 
        <input type="text" class="form-control" name="suggname" id="suggname" placeholder="Enter Your Name" required="required"> 
       </div> 
       <div class="form-group"> 
        <label for="suggmessage">Suggestion</label> 
        <textarea class="form-control" rows="4" name="suggmessage" id="suggmessage" 
        placeholder="Enter Your Suggestions"></textarea> 
       </div> 
       <button type="submit" class="btn btn-default" id="suggestions">Submit</button> 
    </form> 

Это мой Аякса codeing

<script> 
// Ajax post 
    $(document).ready(function() { 
    $("#suggestions").click(function(event) { 
    event.preventDefault(); 
    var name = $("#suggname").val(); 
    var suggestion = $("#suggmessage").val(); 
    $.ajax({ 
    type: "POST", 
    url: "<?php echo site_url('Helen/addSuggestion')?>", 
    dataType: 'json', 
    data: {name: name, suggestion: suggestion}, 
    success: function(data) { 
    if (data=='true') 
    { 
     alert("Thank you for your Suggestion"); 
    } 
    } 
    }); 
    }); 
    }); 
</script> 

Контроллер кодирования

public function addSuggestion() 
    { 
      $data=array(
      'name' => $this->input->post('name'), 
      'messages' => $this->input->post('suggestion'), 
      'date' => now() 
     ); 
      $data=$this->Helen_model->setSuggestion($data); 
      echo json_encode($data); 
    } 

Модель кодирования

public function setSuggestion($data){ 
     $this->db->insert('messages', $data); 
     return $this->db->insert_id(); 
    } 
+0

В каком файле вы загружаете свой javascript? –

+0

Есть ли какие-либо ошибки в консоли? – shafiq

ответ

0

Вы можете достичь, как это ..

Модель

Возврат true статус, если вставка успешно.

public function setSuggestion($data){ 
      $res = $this->db->insert('messages', $data); 

      if($res){ 
       $result = array('status'=>true,'message'=>'successful'); 
      } 
      else 
      { 
       $result = array('status'=>false,'message'=>'failed'); 
      } 

      return $result; 
     } 

JS

Проверить статус в success функции

<script> 
// Ajax post 
    $(document).ready(function() { 
    $("#suggestions").click(function(event) { 
    event.preventDefault(); 
    var name = $("#suggname").val(); 
    var suggestion = $("#suggmessage").val(); 
    $.ajax({ 
    type: "POST", 
    url: "<?php echo site_url('Helen/addSuggestion')?>", 
    dataType: 'json', 
    data: {name: name, suggestion: suggestion}, 
    success: function(response) { 
    data = eval(response);//or data = JSON.parse(response) 
    if (data.status ===true) 
    { 
     alert("Thank you for your Suggestion"); 
    } 
    } 
    }); 
    }); 
    }); 
</script> 
0

Try использовать echo '{"status": "success"}; на ваш ответ контроллера.

Что я вижу на вашем скрипте, вам показывают ответ базы данных.

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