2015-08-19 6 views
0

Я использую AJAX с моим приложением CodeIgniter. Я сработал, чтобы сделать «Ajax checkbox», поэтому, когда я нажимаю на свой флажок, в фоновом режиме вызывается специальная функция. Но как сделать обратный вызов, я имею в виду, что я хотел бы знать, была ли операция выполнена нормально, или, может быть, это была проблема/ошибка.Как получить обратный вызов ajax в сообщении ajax

Мой HTML:

<input type="checkbox" onClick="change_parameter(<?=$dane_leada['lead_id']?>, 'my_parameter');" > 

JS:

function change_parameter(lead_id, parametr) 
{ 
    $.ajax({ 
     type : "POST", 
    url  : '<?=base_url();?>leads/change_parametr/' + lead_id, 
     data : "lead_id=" + lead_id, 
    data : "parameter=" + parameter, 
    }); 

    alert("Status changed"); //here should be message "ok" or "error" 

} 

PHP в контроллере:

public function change_parameter($lead_id, $parametr=FALSE) 
    { 

     if ($lead_id != "" AND isset($_POST['parameter']))   
     { 
      $parameter = $_POST['parameter'];     //odczytujemy zmienną wysłaną przez AJAXa 
     } 

     if ($data['dane_leada'][$parameter] == '0') $new_parameter = 1; else $new_parameter = 0; 

     $dane = array(
      'lead_id' => $lead_id, 
      $parameter => $new_parameter, 
     ); 

     $this->model_leady->mofify_lead($lead_id, $dane); 

     // return error or confirm 
    } 
+0

Использование функции succes ajax call? – Naruto

+0

Измените свои данные на 'data: {lead_id: lead_id, parameter: parameter}' и в ответ на отправку контроллера, используя 'echo 'success' или ваше сообщение об ошибке'. – Saty

ответ

1

Update скрипт с этим:

function change_parameter(lead_id, parametr) 
{ 
    $.ajax({ 
     type : "POST", 
     url  : '<?=base_url();?>leads/change_parametr/' + lead_id, 
     data : {lead_id : lead_id,parameter :parameter}, 
     success: function(response){ 
      if(response){ 
       alert("Status changed"); //here should be message "ok" or "error" 
      }else{ 
       alert("ERROR :Something Wrong"); 
      } 

     }, 
     error: function (err) { 
      alert("ERROR :Something Wrong"); 
    }); 
    }); 
} 

Или Вы можете добавить обработчик ошибок.

error: function (err) { 
    alert("ERROR :" + err.status); 
} 
+1

, и вы также можете включить обработчик ошибок – messerbill

+0

@messerbill при необходимости, мы можем добавить обработчик ошибок. – Toretto

+0

@Toretto Я не уверен, как я могу получить ответ. Я изменил ваш код, как показано выше + Я добавил в свою дополнительную строку PHP: echo 'success'; Код работает, но я не получаю никакого подтверждения. Не могли бы вы уточнить, что мне нужно сделать? – Tikky

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