2017-03-20 6 views
0

Ist es möglich, alle Anfragen auf einer Webseite zu duplizieren? Im Beispiel muss ich Formulardaten auf 2 verschiedenen Servern haben, aber ich kann das Backend auf dem Server nicht ändern, der die Antwort erzeugt. Daher kann ich die Daten nicht an den zweiten Server weiterleiten.doppelte http Anfragen Javascript

Dies muss für viele verschiedene Seiten getan werden.

Ich brauche eine dynamische Lösung, die alle Anfragen des Clients dupliziert, so dass ich nicht jede Webseite ändern muss, sondern nur ein Skript zu den Seiten hinzufügen kann.

+0

ein potenzielles Problem, das Sie mit zwei verschiedenen Servern haben werden ist CORS - was bedeutet, würden Sie das Back-End sowieso ändern müssen –

+0

CORS könnte repariert werden, also sollte dies kein Problem sein. – user3605780

+0

Sie müssen wahrscheinlich jede Anfrage ändern, um eine neue Funktion zu verwenden - affe patchen XMLHttpRequest funktioniert, oder wenn Sie jQuery verwenden, gibt es wahrscheinlich einige Haken oder andere, die Sie verwenden können - wirklich, ohne einen Hinweis auf Code, alles Sie Ich bekomme nur vage Möglichkeiten –

Antwort

0

Angenommen, Sie haben CORS konfiguriert. Sie können eine JavaScript-Funktion ausführen, die die Anfrage für jeden Server wiederholt. Zum Beispiel:

function MultiXHR() { 

    this.servers = ["http://server1.com", "http://server2.com"]; 
    this.contentType = "application/x-www-form-urlencoded"; 

    this.request = function(type, uri, data, onready){ 
     for (var server in this.servers){ 
      var httpRequest = new XMLHttpRequest(); 
      url = this.servers[server] + "/" + uri; 
      console.log(url); 
      httpRequest.open(type,url, true); 
      httpRequest.onreadystatechange = onready; 
      httpRequest.setRequestHeader("Content-type", this.contentType); 
      httpRequest.send(data); 
     } 
    } 
} 

Dann können Sie dieses Objekt wie folgt verwendet werden:

m = new MultiXHR(); 
m.request('POST',"example","data=data");