Andelas
Andelas

Reputation: 2052

PHP if statement if the page was loaded with ajax

I have a page that loads with a div populated from an include file (pullList.php), but if you click a button (let's say a "re-load" button) the content of the div is reloaded with that same file (pullList.php).

The problem now is that when the page is loaded via ajax (with jquery) I need an include file (function.php) inside the pullList.php file which is already included on the page.

So, ideally I'd like to be able to write a statement that says

if(the page was loaded with ajax) {
       include(function.php);
}

That way the function.php file will only be loaded once, and if the page is requested again via ajax, it has the right functions to display the content properly.

I've tried using include_once, but didn't work - had the same problem. Any suggestions?

Thanks!

Upvotes: 7

Views: 2943

Answers (3)

delphist
delphist

Reputation: 4549

if(isset($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest') {
  include(function.php);
}

Upvotes: 12

Intrepidd
Intrepidd

Reputation: 20908

function isAjax() {
    return (isset($_SERVER['HTTP_X_REQUESTED_WITH']) && 
        ($_SERVER['HTTP_X_REQUESTED_WITH'] == 'XMLHttpRequest'));
}

Source : http://snipplr.com/view/1060/check-for-ajax-request/

Upvotes: 5

Shaun Hare
Shaun Hare

Reputation: 3871

Check the $_SERVER["HTTP_X_REQUESTED_WITH"] contained xmlhttprequest

Upvotes: 2

Related Questions