如何判断帖子来自codeigniter中的ajax调用?

Eth*_*han 20 ajax post codeigniter

我刚刚使用Zend一段时间后才开始使用CodeIgniter.我的新站点有一个功能,您可以通过Ajax注册.在Zend我可以使用它来检查传入的POST是否通过AJAX,因此来自我的网站:

if(!$this->getRequest()->isXMLHttpRequest())
Run Code Online (Sandbox Code Playgroud)

CodeIgniter中是否有一段代码可以执行相同的操作?如果我不确定它是一个AJAX调用,理论上可以通过创建一个表单发布到我的控制器来注册任何他们想要的东西.

谢谢!

Cop*_*osh 35

从CodeIgniter 2.0开始,有一种更简单的方法来检查ajax请求.

使用:$ this-> input-> is_ajax_request();

Doc:https://codeigniter.com/user_guide/libraries/input.html


Ste*_*ven 20

if (isset($_SERVER['HTTP_X_REQUESTED_WITH']) && ($_SERVER['HTTP_X_REQUESTED_WITH'] == 'XMLHttpRequest')) {}
Run Code Online (Sandbox Code Playgroud)

但由于您使用的是codeigniter,因此最好使用它们的输入类.请参阅下面的操作方法.

 if($this->input->is_ajax_request()){
     //Execute Your Code
 }
Run Code Online (Sandbox Code Playgroud)