2016-05-31 15 views
0

Ich verwende zwei Flask-Apps auf meinem lokalen Computer.HTTP Anfordern von Daten von einem lokalen Server

1) Mein Test-Client-Website (auf Port 5001)

2) Meine API (auf Port 5000)

Wenn ich 127.0.0.1:5000/search/ in meinem Browser eingeben, erhalte ich folgendes:

Test Hello World 

Wenn ich 127.0.0.1:5001 in meinem Browser eingeben erhalte ich eine gewöhnliche Webseite den folgenden HTML-Code enthält (dies sieht alles OK):

<!DOCTYPE html> 
<html> 
<body> 

<button type="button" onclick="loadDoc()">Request data</button> 

<p id="demo">TEST</p> 

<script> 

function loadDoc() { 
    var xhttp = new XMLHttpRequest(); 
    xhttp.onreadystatechange = function() { 
    if (xhttp.readyState == 4 && xhttp.status == 200) { 

     document.getElementById("demo").innerHTML = xhttp.responseText; 
    } 
    }; 
    xhttp.open("GET", "127.0.0.1:5000/search/", true); 
    xhttp.send(); 
} 
</script> 

</body> 
</html> 

Wie Sie sehen können, wird die HTTP-Anfrage an 127.0.0.1:5000/search/ gesendet, die im Browser getestet und funktioniert und sollte Test Hello World zurückgeben, aber leider passiert nichts.

Grundsätzlich klicke ich auf die Schaltfläche "Request Data" (siehe oben), und absolut nichts passiert.

Irgendwelche Ideen warum? Ich bin seit Stunden hier festgefahren.

Antwort

2

Aus Sicherheitsgründen schränken Browser ursprungsübergreifende HTTP-Anfragen ein, die von Skripten ausgehen. Beispielsweise folgt XMLHttpRequest der Richtlinie für denselben Ursprung. Eine Webanwendung, die XMLHttpRequest verwendet, kann daher nur HTTP-Anforderungen an ihre eigene Domäne senden. Um Webanwendungen zu verbessern, baten Entwickler Browseranbieter, XMLHttpRequest domänenübergreifende Anfragen zuzulassen.

Diese Ressourcen können hilfreich sein;
HTTP access control (CORS)
Using CORS

0
"127.0.0.1:5000/search/" 

Ihre URL sein System fehlt. Sie müssen das mit http:// voranstellen.

Wenn Sie die Entwicklertools Ihres Browsers öffnen und auf der Registerkarte "Netzwerk" nachsehen, sollte dort ein 404-Fehler angezeigt werden.


Sobald Sie beheben, dass es wahrscheinlich ist, dass Sie ein Kreuz Herkunft Fehler beschrieben haben werden als in this question

Verwandte Themen