Heim >Backend-Entwicklung >Python-Tutorial >Detaillierte Grafik- und Texterklärung zum Umgang mit domänenübergreifenden Anforderungsfehlern im Bottle-Framework von Python
In diesem Artikel wird hauptsächlich der Umgang mit dem Problem der domänenübergreifenden Anforderungsfehlermeldung im BottleFramework von Python beschrieben 🎜>mit Python Wenn das Front-End bei der Entwicklung des Bottle-Frameworks Ajax für den domänenübergreifenden Zugriff verwendet, schlägt der
js-Code immer fehl, den Erfolg einzugeben, sondern gibt einen Fehler und den zurückgegebenen -Status ist 200. Es ist normal, direkt im Browser auf die URL zuzugreifen. Nach dem Drücken von F12 im Browser wird die folgende Fehlermeldung angezeigt: XML
HttpRequest kann http://192.168.0.118 nicht laden: 8081/get_mobile_number/? id=1. Auf der angefordertenRessource ist kein „Access-Control-Allow-Origin“-Header vorhanden. Wenn Sie Fehler über Suchmaschinen abfragen, werden Sie feststellen, dass es sich bei fast allen Antworten, die Sie finden, um domänenübergreifende Probleme handelt. Sie müssen nur Folgendes zum Code der Hauptdatei hinzufügen. Viele Lösungen auf ausländischen Websites sagen Dies Tatsächlich ist nach dem Hinzufügen der Lösung immer noch ein Fehler aufgetreten. Beim Betrachten der HTTP-Header-Ausgabe des Browsers haben wir den Access-Control-Allow-Origin:* nicht gesehen gerade hinzugefügt, wie unten gezeigt:
@hook('after_request') def enable_cors(): response.headers['Access-Control-Allow-Origin'] = '*'
Geben Sie über DEBUG den Quellcode der Flasche ein, um
anzuzeigen, den ich getestet habe Dieses Problem im Bottle-Framework, das Python2 und Python3 entspricht. Dieses Problem besteht. Wir haben es geändert in:
class HTTPResponse(Response, BottleException): def init(self, body='', status=None, headers=None, **more_headers): super(HTTPResponse, self).init(body, status, headers, **more_headers) def apply(self, response): response._status_code = self._status_code response._status_line = self._status_line if self._headers: if response._headers: response._headers.update(self._headers) else: response._headers = self._headers response._cookies = self._cookies response.body = self.body
Das obige ist der detaillierte Inhalt vonDetaillierte Grafik- und Texterklärung zum Umgang mit domänenübergreifenden Anforderungsfehlern im Bottle-Framework von Python. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!