2016-07-08 2 views
0

Я посылать один запрос к контроллеру, чтобы контроллер Когда я предупрежу (тело) это значение на дисплее, но в контроллере он показывает пустой ,,запроса Codeigniter Ajax не работает

Но другие date1 и date2 работают ..

<script type="text/javascript"> 
$(document).ready(function(){ 
$('#buttonsearch').click(function(){ 
var date1=$("#date1").val(); 
var date2=$("#date2").val();vartele=$("#tele").val(); 
alert(tele); 
$.ajax(
{ 
type: "POST", 
url: '<?php echo site_url('totalorders/orderajax'); ?>', 
data: 'date1=' + date1 + '&date2='+ date2 +'& tele ='+ tele, 
success: function(data) 
{ 
alert(data); 
$("#customers2").html(data); 
}}); });}); 
</script> 

код контроллера ..

public function orderajax() 
    { 

     $this->load->database(); 
     $this->load->library('session'); 
     $date1=$this->input->post('date1'); 
     $date2=$this->input->post('date2'); 
     $tele=$this->input->post('tele'); 
     $data['tele']=$tele; 
     if(($date1 != '') && ($date2 != '') && ($tele == '')) 
     { 

      $data['orders'] = $this->orderdetails->get_ajaxsearchorders($date1,$date2,$tele); 
     } 
     else 
     { 
      $sss=$tele; 
      $data['orders'] = $this->orderdetails->get_ajaxsearchorders1($sss); 
     } 
     $this->load->view('orderviewajax',$data); 
    } 

вы, ребята, можете помочь мне, где я был неправ ..

Примечание: только значение «tele» не работает date1, дата2 работает.

+2

удалить дополнительное пространство после того, как и + '& телека =' + телеконвертер» – David

+0

да работают ,, спасибо .. –

+1

использовать эти данные:. {Date1: date1, date2: date2, тело: телеконвертер} , – Dave

ответ

0

Укажите пробел между ключевым словом var и имя переменной tele. Проверьте следующую строку.

var tele = $("#tele").val(); 
+0

Это не может быть проблемой, потому что OP говорит, что 'alert (tele)' работает. – Sparky

0

Добавить место в описании переменных. и во время публикации данных не давайте пробел. Для Eg:

   type:"POST", 
      url:"<?php echo base_url(); ?>staff_activity/date_report", 
      data:'year='+nep_year+'&month='+nep_month, 
0

Корневая проблема является пространством вы заложенным в строке запроса в этой части:

... +'& tele ='+ tele 

Удалить пространство между & и tele ...

... +'&tele ='+ tele 

ОДНАКО, вам не нужно собирать каждое значение и вручную строить строку запроса.

Просто используйте jQuery .serialize(), который собирает значения формы и автоматически строит строку запроса.

data: $('form').serialize(), 
Смежные вопросы