How to determine if php is ajax

王林
Release: 2023-02-24 15:50:01
Original
3019 people have browsed it

How to determine if php is ajax

Today I encountered the following code in M_Controller, so I learned a little about how to judge the differences between ajax requests, post requests, REQUEST_TIME and time() functions.

define('IS_AJAX', $this->input->is_ajax_request()); define('IS_POST', $_SERVER['REQUEST_METHOD'] == 'POST' && count($_POST) ? TRUE : FALSE); define('SYS_TIME', $_SERVER['REQUEST_TIME'] ? $_SERVER['REQUEST_TIME'] : time());
Copy after login

is_ajax_request()method is a method in CI to determine whether an ajax request is made. The official document explains it as: Check whether the server header containsHTTP_X_REQUESTED_WITH, returns TRUE if present, otherwise returns FALSE.

Of course, such a judgment is not perfect. The principle involved in the judgment is as follows:

When we send an ajax request through jquery, an ajax header named X-Requested-With information, the default content of the information is: XMLHttpRequest, which is the basis for the CI framework to judge ajax requests.

But how do we judge when we use native js?

xmlHttpRequest.setRequestHeader("request_type","ajax");
Copy after login

According to the XMLHttpRequest object, manually set the header. After the above settings are completed, we can obtain it as follows in the PHP logic code:

$_SERVER['HTTP_REQUEST_TYPE']
Copy after login

Obviously, the r# we set in the header ##equest_typeWhen obtaining in the background, add the prefix string of HTTP_ to obtain the Header information sent by the front desk, that is, by calling$_SERVER['HTTP_REQUEST_TYPE']to get the header information sent by the front desk Value: ajax, of course request_type can also be set to other fields.

The above content is for reference only!

Recommended tutorial:

PHP video tutorial

The above is the detailed content of How to determine if php is ajax. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!