Browse Source

* Added protected, virtual TWebPage.IsAjaxCall

git-svn-id: trunk@14958 -
joost 15 years ago
parent
commit
805a6c3572
1 changed files with 10 additions and 4 deletions
  1. 10 4
      packages/fcl-web/src/webpage.pp

+ 10 - 4
packages/fcl-web/src/webpage.pp

@@ -67,6 +67,7 @@ type
     procedure DoHandleAjaxRequest(ARequest: TRequest; AnAjaxResponse: TAjaxResponse; var Handled: boolean); virtual;
     procedure DoHandleAjaxRequest(ARequest: TRequest; AnAjaxResponse: TAjaxResponse; var Handled: boolean); virtual;
     procedure DoBeforeRequest(ARequest: TRequest); virtual;
     procedure DoBeforeRequest(ARequest: TRequest); virtual;
     procedure DoBeforeShowPage(ARequest: TRequest); virtual;
     procedure DoBeforeShowPage(ARequest: TRequest); virtual;
+    function IsAjaxCall: boolean; virtual;
     property WebModule: TFPWebModule read FWebModule;
     property WebModule: TFPWebModule read FWebModule;
     procedure DoCleanupAfterRequest(const AContentProducer: THTMLContentProducer);
     procedure DoCleanupAfterRequest(const AContentProducer: THTMLContentProducer);
     procedure SetRequest(ARequest: TRequest); virtual;
     procedure SetRequest(ARequest: TRequest); virtual;
@@ -164,8 +165,7 @@ begin
 end;
 end;
 
 
 procedure TWebPage.HandlePage(ARequest: TRequest; AResponse: TResponse; AWriter: THTMLwriter; AWebModule: TFPWebModule=nil);
 procedure TWebPage.HandlePage(ARequest: TRequest; AResponse: TResponse; AWriter: THTMLwriter; AWebModule: TFPWebModule=nil);
-var s : string;
-    Handled: boolean;
+var Handled: boolean;
     CompName: string;
     CompName: string;
     AComponent: TComponent;
     AComponent: TComponent;
     AnAjaxResponse: TAjaxResponse;
     AnAjaxResponse: TAjaxResponse;
@@ -175,8 +175,7 @@ begin
   try
   try
     try
     try
       DoBeforeRequest(ARequest);
       DoBeforeRequest(ARequest);
-      s := Request.HTTPXRequestedWith;
-      if sametext(s,'XmlHttpRequest') then
+      if IsAjaxCall then
         begin
         begin
         AnAjaxResponse := TAjaxResponse.Create(GetWebController, AResponse);
         AnAjaxResponse := TAjaxResponse.Create(GetWebController, AResponse);
         try
         try
@@ -310,6 +309,13 @@ begin
     BeforeShowPage(Self,ARequest);
     BeforeShowPage(Self,ARequest);
 end;
 end;
 
 
+function TWebPage.IsAjaxCall: boolean;
+var s : string;
+begin
+  s := Request.HTTPXRequestedWith;
+  result := sametext(s,'XmlHttpRequest');
+end;
+
 { TStandardWebController }
 { TStandardWebController }
 
 
 function TStandardWebController.GetScriptFileReferences: TStringList;
 function TStandardWebController.GetScriptFileReferences: TStringList;