一尘不染

如何检查是否通过CodeIgniter中的AJAX发出请求?

php

如何检查请求是否为AJAX?我正在使用CodeIgniter。我有一个链接,当单击该链接时,它将打开弹出对话框窗口,此操作是通过ajax完成的,它请求输入控制器名称login_window()

CodeIgniter

//Here is the controller name:
function login_window(){
    // request via ajax
    $this->load->view("login_window");
}

jQuery的

//here is the jquery code:
//I am using a jquery plugin FACEBOX

$('a[rel*=dialog]').facebox();

<a href="http://localhost/codeigniter/login_window" rel="dialog">Login</a>

我想检查是否是AJAX请求,如果不是,我会将其重定向到主页。因此,他们无法访问仅用于ajax请求的页面。


阅读 247

收藏
2020-05-29

共1个答案

一尘不染

如果您使用的是发送X-Requested-With标头的库,则可以…

if (strtolower(filter_input(INPUT_SERVER, 'HTTP_X_REQUESTED_WITH')) === 'xmlhttprequest') {
   // I'm AJAX!
}
2020-05-29