Ich habe ein Python-Skript, das eine JSON erzeugt, und ich kann es in http://192.168.1.171:17000/GET JSON mit XMLHttpRequest
In der Registerkarte Netzwerk I
200 GET/192.168.1.171:17000 json transfereed 40KB
Wenn ich versuche, es von einem anderen bekommen
sehen GET Webseite mit Javascriptvar url = "http://192.168.1.171:17000";
var Httpreq = new XMLHttpRequest();
function Get(url){
Httpreq.open("GET", url, false);
//Httpreq.setRequestHeader('Access-Control-Allow-Origin', '*');
Httpreq.send(null);
return Httpreq.responseText;
}
var json_obj = JSON.parse(Get(url));
console.log("data: "+json_obj);
im Netzwerk Tab ich
200 GET/192.168.1.171:17000 json transfereed 0KB
es Registerkarte Antwort
SyntaxError:
JSON.parse: unexpected end of data at line 1 column 1 of the JSON data
und in der Konsole
Synchronous XMLHttpRequest on the main thread is deprecated because of its detrimental effects to the end user's experience. For more help http://xhr.spec.whatwg.org/
Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at http://192.168.1.171:17000/. (Reason: CORS header 'Access-Control-Allow-Origin' missing).
NS_ERROR_FAILURE:
Als ich
Httpreq.setRequestHeader('Access-Control-Allow-Origin', '*');
statt das Problem zu lösen ich bin immer noch ein Fehler
hinzufügenCross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at http://192.168.1.171:17000/. (Reason: CORS request failed).
Wenn ich http://192.168.1.171:17000/ besuche, bekomme ich meinen JSON, der gültig ist, und wenn ich meinen Javascript-Code mit einem anderen json laufen lasse, läuft er. Aber wenn ich meinen Javascript-Code mit meinem json laufen lasse, läuft es nicht. Könntest du mir bitte helfen zu verstehen, was ich hier falsch mache?
Remember Cross Origin Fehler bedeutet, dass Sie versuchen, ein Skript auf einem Server auszuführen, der auf demselben Ursprung (dasselbe IP-Netzwerk) ist. Sowohl Ihr Browser als auch Ihr Server befinden sich im selben IP-Netzwerk. Versuchen Sie Google Chrome mit der Erweiterung Google Chrome Webserver https://chrome.google.com/webstore/detail/web-server-for-chrome/ofhbbkphhbklhfoeikjpcbhemlocgigb?hl= zu verwenden de. Ich werde Sie von einem Webserver starten, der Sie auf Ihrem 192. *. *. * Abfragen wird. Netzwerk. Das hat mir geholfen, das Cross-Origin-Problem zu lösen –