You are here: Re: Problem detecting an Ajax request « PHP Programming Language « IT news, forums, messages
Re: Problem detecting an Ajax request

Posted by Simon on 11/26/06 07:36

I found the answer, the Ajax request object has to have a custom HTTP
header. See the following link for more details:

http://www.sitepoint.com/print/painless-javascript-prototype


On Nov 24, 12:07 am, Erwin Moller
<since_humans_read_this_I_am_spammed_too_m...@spamyourself.com> wrote:
> Simon wrote:
> > I have the following code in Javascript which is creating and sending
> > an XMLHttpRequest .
>
> > <code>
> > var xmlHttp;
>
> > /*@cc_on @*/
> > /*@if (@_jscript_version >= 5)
> > try {
> > xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
> > } catch (e) {
> > try {
> > xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
> > } catch (e2) {
> > xmlHttp = false;
> > }
> > }
> > @end @*/
> > alert(xmlHttp);
> > if (!xmlHttp && typeof XMLHttpRequest != 'undefined') {
> > xmlHttp = new XMLHttpRequest();
> > }
>
> > // Build the URL to connect to
> > var url = "getURL.php";
>
> > // Open a connection to the server
> > xmlHttp.open("GET", url, true);
>
> > // Setup a function for the server to run when it's done
> > xmlHttp.onreadystatechange = updatePage;
>
> > // Send the request
> > xmlHttp.send(null);
>
> > </code>
>
> > The problem I am having is server side where I am trying todetectan
> >Ajaxrequest.
> > I have the folowing function isAjax() which is returning false:
>
> > <code>
> > <?php
>
> > if(isAjax()){
> > echo "This is anAjaxrequest";
> > }
> > else{
> > echo "NotAjax";
> > }
>
> > function isAjax() {
> > return isset($_SERVER['HTTP_X_REQUESTED_WITH']) &&
> > $_SERVER ['HTTP_X_REQUESTED_WITH'] == 'XMLHttpRequest';
> > }
>
> > ?>
> > </code>
>
> > Can someone tell me why isAjax() is failing here?No I cannot, but why make life harder than needed?
> Why rely on headers that may be filtered away or are not send by every
> implementation of the Object?
>
> If you want to tell if the request originated fromAJAX, just add that to
> the URL, that is 100% foolproof (I think).
>
> Like:
>
> var url = "getURL.php?originatedFromAjax=Y";
>
> And simply check for it:
> if (isset($_GET["originatedFromAjax"])){
> // fromAJAX
>
> } else {
> // Not fromAJAX
> }Regards,
> Erwin Moller

 

Navigation:

[Reply to this message]


Удаленная работа для программистов  •  Как заработать на Google AdSense  •  England, UK  •  статьи на английском  •  PHP MySQL CMS Apache Oscommerce  •  Online Business Knowledge Base  •  DVD MP3 AVI MP4 players codecs conversion help
Home  •  Search  •  Site Map  •  Set as Homepage  •  Add to Favourites

Copyright © 2005-2006 Powered by Custom PHP Programming

Сайт изготовлен в Студии Валентина Петручека
изготовление и поддержка веб-сайтов, разработка программного обеспечения, поисковая оптимизация