2015-08-17 3 views
1

Здесь я хочу передать значение «q» из функции ajax в контроллер в codeigniter.Как передать значение переменной ajax контроллеру в codeigniter

ajax code: 
function getdata(str) 
    { 
     if (str == "") { 
      document.getElementById("yer").innerHTML = ""; 
      return; 
     } else { 
      if (window.XMLHttpRequest) { 
       // code for IE7+, Firefox, Chrome, Opera, Safari 
       xmlhttp = new XMLHttpRequest(); 
      } else { 
       // code for IE6, IE5 
       xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); 
      } 
      xmlhttp.onreadystatechange = function() { 
       if (xmlhttp.readyState == 4 && xmlhttp.status == 200) { 
        document.getElementById("bus").innerHTML = xmlhttp.responseText; 
       } 
      } 
      xmlhttp.open("GET","<?php echo site_url('money_c/taxcalculator1'); ?>?q="+str,true); 
      xmlhttp.send(); 
       window.location="<?php echo site_url('money_c/taxcalculator'); ?>" 

     } 
    } 
controller: 

    function taxcalculator1() 
      { 
       $bt=$_GET['q']; 
       echo $bt; 
      } 

Здесь я хочу передать значение «q» из функции ajax в контроллер в codeigniter.

+0

Почему вы не можете использовать JQuery? Я спросил об этом, потому что вы пометили его под JQuery :) – ssilas777

+0

Что вы ожидаете и что не работает должным образом? – Jan

ответ

0

Как только вы начали запрос Ajax отправки с этим:

xmlhttp.send(); 

Вы покинуть страницу с этим:

window.location="<?php echo site_url('money_c/taxcalculator'); ?>" 

... который прерывает запрос Ajax, удаляет место, которое вы пытаетесь отредактируйте с помощью innerHTML и уничтожьте JavaScript, который все равно будет пытаться это сделать.


Если вы хотите использовать Ajax затем:

  • Поместите данные, которые вы хотите показать пользователю ответ от taxcalculator1
  • Используйте onreadystatechange, чтобы показать его пользователю
  • Не оставляйте страницу до того, как это произойдет (удалите линию window.location).

Если вы хотите загрузить совершенно новую страницу:

  • Не использовать Ajax
  • Просто отправить форму в URL
  • отображения данных вы хотите, чтобы пользователь видел (в форме HTML-документа) в ответ на этот запрос
+0

Я хочу использовать ajax.can, пожалуйста, исправьте мой код ... –

+0

@BinilVarghees - см. Бит в ** жирным ** в ответе? Следуйте этой инструкции. – Quentin

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