Codeigniter 2.0 и AJAX - PullRequest
       1

Codeigniter 2.0 и AJAX

1 голос
/ 01 июня 2011

Я просто хочу сохранить переменную из jQuery в сеансе.

js файл:

$.post("controller/ajaxtest","hello");

Я могу видеть этот почтовый запрос в firebug. Как я могу получить доступ к этой переменной или сохранить ее в сеансе?

1 Ответ

1 голос
/ 01 июня 2011

Измените данные, которые вы отправляете, в объект JSON или строку запроса, затем вы можете получить к ним доступ в PHP через $_POST или CodeIgniter $this->input->post

$.post("controller/ajaxtest","var=hello");

ИЛИ

$.post("controller/ajaxtest",{"var":"hello"});

Затем в ajaxtest вы можете получить к нему доступ через $this->input->post('var').

ПРИМЕЧАНИЕ : Если вы делаете $.post("controller/ajaxtest","hello");, вы отправляете переменную post с именем hello сникакое значение ($_POST['hello'] не будет существовать, но будет пустым).

ОБНОВЛЕНИЕ : Чтобы вернуть это значение в ваш JavaScript, вы можете сделать еще один AJAX-вызов PHP-скрипта для полученияили вы можете передать его на экран из контроллера.

Метод AJAX :

Контроллер CI

function getval(){
  $data = array('val' => 'Hello');
  echo json_encode($data);
}

JavaScript

$.getJSON("controller/getval", function(data){
  alert(data.val); //Hello
});

Контроллер -> Метод просмотра :

Контроллер CI

function index(){
  $data['val'] = 'Hello';
  $this->load->view('page', $data);
}

А затем, на ваш взгляд:

<script>
  var val = '<?=$val?>';
  alert(val); //Hello
</script>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...