Способ узнать, пришел ли пост от вызова ajax в codeigniter?
Я только начал использовать CodeIgniter после использования Zend некоторое время. У моего нового сайта есть функция, где вы регистрируетесь через Ajax. В Zend я мог бы использовать это, чтобы проверить, был ли входящий POST через AJAX и, следовательно, с моего сайта:
if(!$this->getRequest()->isXMLHttpRequest())
Есть ли фрагмент кода в CodeIgniter, который делает то же самое? Если я не удостоверился, что это вызов AJAX, кто-то может теоретически зарегистрировать все, что им нужно, создав форму для отправки на мой контроллер.
Спасибо!
Ответы
Ответ 1
if (isset($_SERVER['HTTP_X_REQUESTED_WITH']) && ($_SERVER['HTTP_X_REQUESTED_WITH'] == 'XMLHttpRequest')) {}
Но так как вы используете codeigniter, лучше использовать свой класс ввода. Посмотрите, как это сделать ниже.
if($this->input->is_ajax_request()){
//Execute Your Code
}
Ответ 2
Начиная с CodeIgniter 2.0, существует более простой способ проверки запроса ajax.
Использование: $this- > input- > is_ajax_request();
Doc: http://ellislab.com/codeigniter/user-guide/libraries/input.html
Ответ 3
вы можете проверить его, используя
$this->input->is_ajax_request();