WinFuture-Forum.de: Ajax - WinFuture-Forum.de

Zum Inhalt wechseln

Nachrichten zum Thema: Entwicklung
Seite 1 von 1

Ajax


#1 Mitglied ist offline   svenner90 

  • Gruppe: aktive Mitglieder
  • Beiträge: 146
  • Beigetreten: 30. Dezember 06
  • Reputation: 0

geschrieben 16. April 2008 - 09:28

Hi.
Ich fange gerade mit AJAX an.
Habe nun ein bisschen was auf die Beine gestellt. Dabei soll eigentlich automatisch ein User bei meiner Seite erstellt werden. Allerdings klappt das nicht so recht.
Es wird immer "hm" aufgerufen, also kommt das Script nicht in die eigentliche SEND Schleife.

Warum nicht?

<script type="text/javascript">
function sende()
{
 var xmlHttp2 = false;
 try
 {
  xmlHttp2  = new ActiveXObject("Msxml2.XMLHTTP");
 }
 catch(e)
 {
  try
  {
   xmlHttp2  = new ActiveXObject("Microsoft.XMLHTTP");
  }
  catch(e)
  {
   xmlHttp2  = false;
  }
 }
 if (!xmlHttp2  && typeof XMLHttpRequest != 'undefined')
 {
  xmlHttp2 = new XMLHttpRequest();
 }


 if (xmlHttp2)
 {
 document.getElementById("div").innerHTML='xml erreicht';
  var pass = encodeURIComponent('123');
  var Name	= encodeURIComponent('test22');
  var mail	= encodeURIComponent('[email protected]');
  var user	= encodeURIComponent('user');
  var agb   = encodeURIComponent('1');
   if (xmlHttp2.readyState == 4 && xmlHttp2.status == 200)
   {
	xmlHttp2.open('POST', 'http://ghostref.com/index.php?site=register&action=create');
	xmlHttp2.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
	xmlHttp2.send('name='+ name +'&pass='+ pass +'&passwdh='+ pass +'&mail='+ mail +'&usertyp='+ user +'&agb='+ agb +'');
	alert('geklappt?');
   }
   else
   {
   alert('hm');
   }
  
  }
 }
</script>
<input type="button" onclick="sende();" value="test">
<div id="div"> </div>

0

Anzeige



#2 Mitglied ist offline   Witi 

  • Gruppe: aktive Mitglieder
  • Beiträge: 5.947
  • Beigetreten: 13. Dezember 04
  • Reputation: 43
  • Geschlecht:Männlich
  • Wohnort:Kingsvillage
  • Interessen:Frickeln

geschrieben 16. April 2008 - 09:56

if (xmlHttp2.readyState == 4 && xmlHttp2.status == 200)

Den Status der Abfrage zu überprüfen, ohne sie vorher abgeschickt zu haben, ist nicht sehr geschickt. :)
0

#3 Mitglied ist offline   svenner90 

  • Gruppe: aktive Mitglieder
  • Beiträge: 146
  • Beigetreten: 30. Dezember 06
  • Reputation: 0

geschrieben 16. April 2008 - 12:49

Hmm, und wie muss ich das dann machen?
Wenn ich die IF-Abfrage einfach entferne, wird das ALERT nicht ausgeführt.
0

#4 Mitglied ist offline   svenner90 

  • Gruppe: aktive Mitglieder
  • Beiträge: 146
  • Beigetreten: 30. Dezember 06
  • Reputation: 0

geschrieben 16. April 2008 - 13:13

OK, habs jetzt.
Wusste nicht, dass AJAX nur auf dem Server geht, wo es quasi läuft.
Hatte es nämlich nicht auf ghostref.com hochgeladen, sondern auf einen anderen Server.

Liegt das an AJAX, oder an den Einstellungen des ghostref.com Servers?
0

#5 Mitglied ist offline   Witi 

  • Gruppe: aktive Mitglieder
  • Beiträge: 5.947
  • Beigetreten: 13. Dezember 04
  • Reputation: 43
  • Geschlecht:Männlich
  • Wohnort:Kingsvillage
  • Interessen:Frickeln

geschrieben 16. April 2008 - 13:25

Nein, XHR hat nichts mit dem Server zu tun. Das wird alles clientseitig ausgeführt.

Nochmals...
Du überprüfst die Response bevor du einen Request abgeschickt hast. Das kann ja nicht funktionieren.
Aber da du anscheinend nicht selbst draufkommst, hier ein kleines Beispiel: http://de.wikipedia....28JavaScript.29
0

#6 Mitglied ist offline   K050V4 

  • Gruppe: aktive Mitglieder
  • Beiträge: 788
  • Beigetreten: 13. August 04
  • Reputation: 0
  • Geschlecht:Männlich
  • Wohnort:Stuttgart
  • Interessen:(X)HTML<br />CSS2+<br />PHP 4/5<br />MySQL 5<br />Symfony 1.2+<br />JavaScript / AJAX<br />jQuery<br />C++<br />C#<br />Java<br />...

geschrieben 16. April 2008 - 15:20

Dein Ajax-Script und deine HTML-Seite müssen auf den gleichen Domain sein.
Sonst läuft das nicht...

Zitat

"In der Welt des Erkennbaren ist die Idee des Guten die höchste." - Platon

Spritify! Easy CSS-Sprite-Generator | Albanisch Deutsch Wörterbuch
0

#7 Mitglied ist offline   svenner90 

  • Gruppe: aktive Mitglieder
  • Beiträge: 146
  • Beigetreten: 30. Dezember 06
  • Reputation: 0

geschrieben 16. April 2008 - 15:40

Zitat

Nochmals...
Du überprüfst die Response bevor du einen Request abgeschickt hast. Das kann ja nicht funktionieren.
Aber da du anscheinend nicht selbst draufkommst, hier ein kleines Beispiel: http://de.wikipedia....28JavaScript.29

Doch, das habe ich schon behoben.
Habe die IF Schleife einfach entfernt.
Allerdings hat es nicht geklappt weil ich die URL "http://ghostref.com/index.php?site=register&action=create" per xmlHttp aufrufen wollte, das Script aber auf einem anderen Server war. Hatte dann das Script einmal auf den ghostref Server hochgeladen, und es hat geklappt.

Kann man also mit dem AJAX Script, nur POST Daten an PHP-Dateien auf dem eigenen Server senden?
0

#8 Mitglied ist offline   MaliMaster 

  • Gruppe: aktive Mitglieder
  • Beiträge: 907
  • Beigetreten: 10. April 02
  • Reputation: 0
  • Geschlecht:Männlich
  • Wohnort:Deutschland

geschrieben 16. April 2008 - 15:47

Eine IF Schleife gibt es nicht^^
0

#9 Mitglied ist offline   Vyper 

  • Gruppe: aktive Mitglieder
  • Beiträge: 65
  • Beigetreten: 25. Juli 04
  • Reputation: 0

geschrieben 16. April 2008 - 16:26

Beitrag anzeigenZitat (svenner90: 16.04.2008, 16:40)

Kann man also mit dem AJAX Script, nur POST Daten an PHP-Dateien auf dem eigenen Server senden?

Ja, aktuell läuft das nur über die gleiche Domain.
In Mozilla's Firefox 3 war zwischenzeitlich Cross Site XHR aktiviert, wurde dann jedoch wieder deaktiviert, da es noch Stezifikationsänderungen gab.
Hab jetzt gerade keine Info's parat wie es bei Opera und Safari/Webkit aussieht...
0

#10 Mitglied ist offline   m4rkus 

  • Gruppe: aktive Mitglieder
  • Beiträge: 316
  • Beigetreten: 28. Juni 06
  • Reputation: 0

geschrieben 16. April 2008 - 17:39

nur mal ne kleine zwischenfrage. bin grad zu faul zum probieren und anscheinend gibts hier ja leute die sich grad mit dem thema intensiver beschäftigen....

angenommen ich rufe z.b. google.de in ner php datei per include oder require auf, die in der gelichen domain ist. Würde das dann funktionieren?

Gruß,
m4rkus
2*3=4
0

#11 Mitglied ist offline   Witi 

  • Gruppe: aktive Mitglieder
  • Beiträge: 5.947
  • Beigetreten: 13. Dezember 04
  • Reputation: 43
  • Geschlecht:Männlich
  • Wohnort:Kingsvillage
  • Interessen:Frickeln

geschrieben 17. April 2008 - 07:06

m4rkus, das ist aber was anderes. PHP wird nicht im Browser, sondern auf dem Server ausgeführt. Und ja, das funktioniert, es muss lediglich allow-url-fopen aktiviert sein.
0

#12 Mitglied ist offline   m4rkus 

  • Gruppe: aktive Mitglieder
  • Beiträge: 316
  • Beigetreten: 28. Juni 06
  • Reputation: 0

geschrieben 17. April 2008 - 17:54

das is mir schon klar das require von php und ajax grundverschiedene techniken sind. aber so kann man ja ganz einfach diese "sperre" umgehen.
2*3=4
0

Thema verteilen:


Seite 1 von 1

1 Besucher lesen dieses Thema
Mitglieder: 0, Gäste: 1, unsichtbare Mitglieder: 0