Verbindung zwischen Server

crazy_chicken

Erfahrenes Mitglied
Hallo Zusammen,

mich würde interessieren wie sowas geht:

HTML:
 (function(d, s, id) {
      var js, fjs = d.getElementsByTagName(s)[0];
      if (d.getElementById(id)) return;
      js = d.createElement(s); js.id = id;
     js.src = "//connect.facebook.net/de_DE/blabla";
     fjs.parentNode.insertBefore(js, fjs);
  }(document, 'script', 'facebook-jssdk'));


<div class="fb-like" data-href="http://www.facebook.com/seite.com" data-send="true" data-layout="button_count" data-width="250" data-show-faces="false" data-action="recommend"></div>





Wie werden die daten mit JS gelesen vom anderen Server?


Da ich einen Server habe, wo kein PHP drauf läuft ung gerne würde ich auch sowas machen, ohne IFRAME zu benutzen, ist das möglich?



Danke im Voraus!
 
Die Daten vom anderen Server werden genauso verarbeitet wie Daten vom eigenen Server.

Alles, was diese Funktion macht ist dynamisch ein Skript zu Laden. Skripte unterliegen keinen Beschränkungen, du kannst in ein Dokument Skripte von beliebigen Domains/Servern laden und diese haben vollen Zugriff auf deine Seite.

Wenn es also das ist, was du tun möchtest, dann tu es, es ist möglich.
 
Danke erstmal.


HTML:
js.src = "//connect.facebook.net/de_DE/blabla";

Damit wird ein script dann geladen, wie ich das verstehe? Also eine js-Datei?

Gruß
 
Jo, das ist dasselbe als ob du dies script direkt im Quellcode der Datei notierst
Code:
<script src="//connect.facebook.net/de_DE/blabla" id="facebook-jssdk"></script>
 
Das Problem ist bei mir:

ich weiß, dass man auch JS-Dateien aus anderem Server einbinden kann, nur aber wenn ich eine JS-Datei auf dem anderen Server habe, wo eine ajax Server-Client kommunikation stattfindet, dann funktioniert das doch nicht mehr. ?

Ich hoffe die Frage ist verständlich?


Beispiel:


Auf dem Server1 liegt die HTML-Datei:

HTML:
<script type="text/javascript" src="http://www.server2-domain2.de/js/jquery-1.2.6.js"></script>
<script type="text/javascript" src="http://www.server2-domain2/js/ajax.js"></script>


<div onclick="load_it();">klcik hier um zu laden:)</div>
 
<div id="body-inhalt" style="margin-top:30px;">
  

</div>



auf dem Server 2, liegen die js-dateien:

hier die: http://www.server2-domain2/js/ajax.js
Code:
function load_it(){
  $.ajax({
  type: "POST",
   url: "./inhalt.php",
   success: function(phpData){
      document.getElementById('body-inhalt').innerHTML=phpData;
      
   }
   });
 
            
    
}


Vielen Dank!


Grüße!
 
Zuletzt bearbeitet:
Wenn du damit meinst, deine Seite auf Server1 kann nicht den Inhalt von inhalt.php auf Server2 laden, dann ist das ansich korrekt.

Allerdings gibt es da Mittel und Wege.

Variante 1 wäre ein CrossDomainRequest(XDR) , Server2 müsste dabei einen Access-Control-Allow-Origin-Header passend zur Domain von Server 1 senden.

Variante 2 wäre jsonp, Server2 müsste die abzufragenden Daten in einen Funktionsaufruf kapseln. jQuery unterstützt jsonp, die AJAX-Methoden von jQuery erlauben alle die Nutzung des entsprechenden dataType, aber im Grunde genommen ist jsonp kein AJAX, sondern auch nur ein dynamisch eingebundenes JS-file.

Beide Varianten benötigen jedoch die Mitwirkung von Server2, wenn du dort keinen Zugriff hast und beide Varianten nicht unterstützt werden ist da nichts zu machen ohne serverseitiges Skript.


Vielleicht verstehe ich dich aber auch falsch und du willst etwas ganz anderes.
 
Zuletzt bearbeitet:

Neue Beiträge

Zurück