Ankündigung

Einklappen
Keine Ankündigung bisher.

xajax - Erste schritten wollen nicht

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • xajax - Erste schritten wollen nicht

    Hallo !
    Ich guck mir gerade xajax an, und wollte eigentlich die Funktion testen, in dem ich sie einbinde und einen Text per Button austausche bzw anzeigen lasse.

    Dafür hab ich inmeiner apache htdocs ein Verzeichniss "xajaxtext/" angelegt, in der nur das Verzeichnis "xajax" samt den Unterverzeichnissen und die index.php liegt.

    die index.php sieht wie folgt aus:
    Code:
    <?php
    require_once("./xajax/xajax_core/xajax.inc.php");
    $xajax = new xajax();
    $xajax->registerFunction("myFunction");
    function myFunction($arg)
    {
        $objResponse = new xajaxResponse();
        $newContent="Test";
        $objResponse->addAssign("SomeElementId","innerHTML", $newContent);
        return $objResponse;
    }
    
    $xajax->processRequest();
    ?>
    <html>
      <head>
        <title>Test xajax #1</title>
        <? $xajax->printJavascript("./xajax/"); ?>
      </head>
      <body>
        <div id="SomeElementId"></div>
        <form action="get">
          <input type="button" value="Insert" onclick="xajax_myFunction(SomeArgument);" />
        </form>
    </body>
    </html>
    WEnn ich das Skript aufrufe, erscheint auch brav der Button, jedoch wird beim Klick der DIV Container "SomeElementId" nicht gefüllt.

    Der Apache liefert mir folgende Seite:
    Code:
    <html>
      <head>
        <title>Test xajax #1</title>
        
    <script type="text/javascript" charset="UTF-8">
    /* <![CDATA[ */
    try { if (undefined == xajax.config) xajax.config = {}; } catch (e) { xajax = {}; xajax.config = {}; };
    xajax.config.requestURI = "http://127.0.0.1/xajaxtest/";
    xajax.config.statusMessages = false;
    xajax.config.waitCursor = true;
    xajax.config.version = "xajax 0.5 Beta 4";
    xajax.config.legacy = false;
    xajax.config.defaultMode = "asynchronous";
    xajax.config.defaultMethod = "POST";
    /* ]]> */
    </script>
    <script type="text/javascript" src="./xajax/xajax_js/xajax_core.js" charset="UTF-8"></script>
    <script type="text/javascript" charset="UTF-8">
    /* <![CDATA[ */
    window.setTimeout(
     function() {
      var scriptExists = false;
      try { if (xajax.isLoaded) scriptExists = true; }
      catch (e) {}
      if (!scriptExists) {
       alert("Error: the xajax Javascript component could not be included. Perhaps the URL is incorrect?\nURL: ./xajax/xajax_js/xajax_core.js");
      }
     }, 2000);
    /* ]]> */
    </script>
    
    <script type='text/javascript' charset='UTF-8'>
    /* <![CDATA[ */
    xajax_myFunction = function() { return xajax.request( { xjxfun: 'myFunction' }, { parameters: arguments } ); };
    /* ]]> */
    </script>
      </head>
      <body>
        <div id="SomeElementId"></div>
        <form action="get">
          <input type="button" value="Insert" onclick="xajax_myFunction(SomeArgument);" />
        </form>
    </body>
    </html>
    [EDIT]
    : Achja, gestet mit :
    Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.1.6) Gecko/20061201 Firefox/2.0.0.6 (Ubuntu-feisty)
    Opera Version 9.23 Build 660
    Linux i686, 2.6.20-16-generic Qt library 3.3.7
    [/EDIT]


    Die Pfade zu den xajax-Dateien sind m.M. richtig gesetzt, Zugriffsbeschränkungen auf die einzelnen Dateien exitieren auch nicht, ich bin gerade blind oder ich verpeil hier grundlegend etwas. Kann wer helfen ? wäre nett!


  • #2
    erledigt..

    Falls es jemand gebrauchen kann:
    Code:
    <?php 
    
    require ('./xajax/xajax_core/xajax.inc.php'); 
    $xajax = new xajax(); 
    $xajax->configure('javascript URI', './xajax/'); 
     
    function myFunction($args) 
    {    $newContent = "Button: ".$args; 
             
        $objResponse = new xajaxResponse(); 
        $objResponse->assign('someElement', 'innerHTML', $newContent); 
         
        return $objResponse; 
    } 
     
    $reqMyFunctionFirst =& $xajax->registerFunction('myFunction'); 
    $reqMyFunctionFirst->setParameter(0, XAJAX_JS_VALUE, 1); 
     
    $reqMyFunctionSecond =& $xajax->registerFunction('myFunction'); 
    $reqMyFunctionSecond->setParameter(0, XAJAX_JS_VALUE, 2); 
     
    $xajax->processRequest(); 
    ?> 
    <html>
    <head> 
    <?php 
        $xajax->printJavascript(); 
    ?> 
    </head> 
    <body style="text-align:center;"> 
        <div id="someElement">&#160;</div> 
        <br/>     
        <button onclick='<?php $reqMyFunctionFirst->printScript(); ?>' >Test 1</button> 
        <button onclick='<?php $reqMyFunctionSecond->printScript(); ?>' >Test 2</button> 
    </body> 
    </html>
    Ich hab nochmal von vorn angefangen und mich an einem anderen Testskript orientiert, welches etwas anders aufgebaut ist, jetzt klappt es.
    Da is wohl noch ein bisschen reinlesen angesagt

    Kommentar

    Lädt...
    X