2013-03-23 6 views
1

Как я могу получить отправить в мой контроллер? Это то, что я пробовал:Код воспламенителя получить ajax значение от вида к контроллеру

Ajax

$.ajax({ 
    type: "POST", 
    url: "example/name", 
    data: send, 
    success: function(value) { 

    } 
}); 

Контроллер

class Example extends CI_Controller { 
    function name() { 
     $this - > post(send); 
    } 
} 
+1

Что такое переменная 'send'? – dfsq

+0

@dfsq: у него есть строка как контент. Как отправить значения ajax и получить в контроллере. – ram

+0

Вы уверены, что на вашем контроллере есть функция с именем 'post'? Я надеюсь, что вам нужно получить значения 'POST', пожалуйста, используйте' $ this-> input-> post ('field_name') ' – Red

ответ

2

Кажется, что вы не отправите свои данные должным образом. Попробуйте это:

$.ajax({ 
    type: "POST", 
    url: "example/name", 
    data: {send: send}, 
    success: function(value) { 

    } 
}); 

В этом случае будут доступны в качестве $_POST['send'].

+0

Как получить мой контроллер? – ram

+0

Вы можете получить его как любой другой параметр POST. Я не знаком с Codeigniter, но после быстрого поиска в документации кажется, что вы можете получить его как '$ this-> input-> post ('send');' также. – dfsq

+0

: В моем firebug он показывает мне пример/index/example/name. Почему это происходит так? мой воспламенитель кода говорит, что произошла ошибка Запрошенное действие не разрешено. – ram

0

Вы должны указать значение, которое будет вывешен с посылом, т.е. она должна быть как-

$.ajax({ 
    type: "POST", 
    url: "example/name", 
    data: 'send='+1, 
    success: function(value) { 

    } 
}); 

Тогда вы будете иметь значение этого переменный, как вы делаете.

using-

$this->input->post('send'); 
+0

В моем firebug он показывает мне пример/index/example/name. Почему это происходит так? – ram

+0

Попробуйте использовать полный URL-адрес от http до конца до вашей функции, используя В скрипте –

1

Попробуйте это, это АЯКС позвонить

$.post('<?php echo base_url()?>example/name',{send:send}, 
      function(data) { 

     }); 

затем получить доступ к нему, используя запись в контроллер, как этот

class Example extends CI_Controller { 
function name() { 
    $_POST['send']; 
    } 
} 
+0

: Теперь моя структура URL правильная, но ошибка mu fire показывает POST http: // localhost/sample/index .php/example/name 500 Внутренняя ошибка сервера 195 мс.Когда я приземляюсь на этой странице, мой URL-адрес выглядит так: http: //localhost/sample/index.php/example/data/13 – ram

1

Сначала вы можете определить глобальную переменную, которая может использоваться как ваш базовый url в коде jquery. Поместите это в <script> теге страницы <head> раздела

  //<![CDATA[ 
       base_url = '<?php echo base_url();?>'; 
     //]]> 

чем сделать запрос AJAX, как этот

 var data = 'var1=aaa&var2=bbb'; 

     $.ajax({ 
      type: "POST", 
      url: base_url+"mainController/getData/", //base_url is the variable which you have defined in the head section 
      data: data, 
      success: function(response){ 
        alert(response); 
      } 
     }); 

чем в контроллере получить почтовые данные, как этот

 class MainController extends CI_Controller { 

      function getData() 
      { 
       $var1 = $this->input->post('var1'); 
       $var2 = $this->input->post('var2'); 

       echo $var1; 
       echo '<br/>'; 
       echo $var2; 
      } 
     } 
Смежные вопросы