Commit beab1f82b1a15e305e5e40f0c6db3ff4212b8046

Authored by Georg Hopp
1 parent deeac40c

--no commit message

  1 +<?php
  2 +
  3 +// $english = mysql_escape_string($_REQUEST['translate']);
  4 +// Der Service ist zur Zeit leider deaktiviert....
  5 +// $trans = new SoapClient(
  6 +// "http://www.xmethods.net/sd/2001/BabelFishService.wsdl");
  7 +
  8 +/*
  9 + try
  10 + {
  11 + $german = $trans->BabelFish("en_de",$english);
  12 + $french = $trans->BabelFish("en_fr",$english);
  13 + }
  14 + catch(SoapFault $e)
  15 + {
  16 + $english = "not found";
  17 + $german = "not found";
  18 + $french = "not found";
  19 + }
  20 +*/
  21 + class dummy
  22 + {
  23 + // nur public member werden via json verschickt.
  24 + public $german;
  25 + public $english;
  26 + public $french;
  27 +
  28 + function __construct ($english, $german, $french)
  29 + {
  30 + $this->german = $german;
  31 + $this->english = $english;
  32 + $this->french["val1"] = $french;
  33 + $this->french["val2"] = "jokus";
  34 + }
  35 + }
  36 +
  37 + $encoding = FALSE;
  38 + if (isset ($_SERVER['HTTP_ACCEPT_ENCODING']) &&
  39 + strpos ($_SERVER['HTTP_ACCEPT_ENCODING'], 'x-gzip') !== FALSE)
  40 + $encoding = "x-gzip";
  41 + if (isset ($_SERVER['HTTP_ACCEPT_ENCODING']) &&
  42 + strpos ($_SERVER['HTTP_ACCEPT_ENCODING'], 'gzip') !== FALSE)
  43 + $encoding = "gzip";
  44 +
  45 + header ('Content-type: text/plain');
  46 +
  47 + $result = FALSE;
  48 + if ($encoding !== FALSE)
  49 + $result = gzcompress (json_encode (new dummy (
  50 + 'doing gzip', 'gezipedte Daten', 'la zippo')));
  51 +
  52 + if ($result !== FALSE)
  53 + {
  54 + header ('Content-Encoding: ' . $encoding);
  55 +
  56 + print ("\x1f\x8b\x08\x00\x00\x00\x00\x00");
  57 + print ($result);
  58 + }
  59 + else
  60 + {
  61 + $result = json_encode (new dummy (
  62 + 'doing no gzip', 'nicht gezipedte Daten', 'no la zippo'));
  63 +
  64 + print ($result);
  65 + }
  66 +
  67 +?>
... ...
  1 +<html>
  2 + <head>
  3 + <title>Meine ersten Ajax Erfahrungen</title>
  4 + <meta http-equiv="content-type" content="text/html;charset=utf-8" />
  5 +
  6 + <script type="text/javascript">
  7 + <!--
  8 + var req = null;
  9 +
  10 + function handleTranslation ()
  11 + {
  12 + switch (req.readyState)
  13 + {
  14 + case 4:
  15 + if (req.status != 200)
  16 + alert("Fehler:"+req.status);
  17 + else
  18 + {
  19 + // felder des formulars
  20 + german_field = document.getElementById("german");
  21 + french_field = document.getElementById("french");
  22 +
  23 + // antwort des servers
  24 + var translation = eval('(' + req.responseText + ')');
  25 +
  26 + // schreiben des ergebnisses
  27 + german_field.value = translation.german;
  28 + french_field.value = translation.french.val1;
  29 + }
  30 + break;
  31 +
  32 + default:
  33 + return false;
  34 + break;
  35 + }
  36 + }
  37 +
  38 + function translate ()
  39 + {
  40 + // erstellen des requests
  41 +
  42 + try
  43 + {
  44 + req = new XMLHttpRequest();
  45 + }
  46 + catch (e)
  47 + {
  48 + try
  49 + {
  50 + req = new ActiveXObject("Msxml2.XMLHTTP");
  51 + }
  52 + catch (e)
  53 + {
  54 + try
  55 + {
  56 + req = new ActiveXObject("Microsoft.XMLHTTP");
  57 + }
  58 + catch (failed)
  59 + {
  60 + req = null;
  61 + }
  62 + }
  63 + }
  64 +
  65 + if (req == null)
  66 + alert("Error creating request object!");
  67 +
  68 + // anfrage erstellen (GET, url ist localhost,
  69 + // request ist asynchron
  70 + var url = 'http://muedv031/~georg/bilder/ajax+json/ajax.php' +
  71 + '?translate=' + document.getElementById ('myword').value;
  72 +
  73 + req.open("GET", url, true);
  74 +
  75 + // Beim abschliessen des request wird diese Funktion ausgeführt
  76 + req.onreadystatechange = handleTranslation;
  77 +
  78 + req.setRequestHeader("Content-Type",
  79 + "application/x-www-form-urlencoded");
  80 +
  81 + req.send(null);
  82 + }
  83 +
  84 + //-->
  85 + </script>
  86 + </head>
  87 +
  88 + <body>
  89 + <div id="eins" style="width: 80%; height: 80%; border: dashed 1px;">
  90 + englisch: <input type="text" id="myword" onchange="translate();" />
  91 + <br />
  92 + deutsch: <input type="text" id="german" /><br />
  93 + französisch: <input type="text" id="french" /><br />
  94 + </div>
  95 + </body>
  96 +</html>
... ...
Please register or login to post a comment