CORS-Problem in Chrome Developer Erweiterung
Ich bin ein Neuling in Chrome Extension Entwicklung, und ich bin mit der Entwicklung einer Chrom Entwickler Erweiterung (erscheint als Teil der Developer Tools).
Diese Anforderung ist zu stellen Externe Dienstleister (URL )nennen, die möglicherweise oder möglicherweise nicht in dem gleichen Server (der Herkunft). Aus den Unterlagen, die ich sehe, die Erweiterungen sind nicht beschränkt durch die same-Origin-Policy. https://developer.chrome.com/extensions/xhr
Allerdings bin ich im laufen in die CORS-Problem, während ich versuche zu nennen, einen externen Dienst.
Manifest.json aussieht wie die unten, wo ich den Zugriff auf alle websites.
"permissions": [
"tabs",
"clipboardWrite",
"http://*/*",
"https://*/*"
],
In der code, den ich versuche zu nennen, HTTP POST auf einige URL , der code sieht aus wie
gwUrl = 'http://services.odata.org/V2/(S(lts2i32bwwy01zoq4cxyscwt))/OData/OData.svc/Products';
var xhr = new XMLHttpRequest();
xhr.open("POST", gwUrl , true);
xhr.setRequestHeader("Content-type", "application/json");
xhr.onreadystatechange = function() {}
xhr.send({ "ID":17, "Name": "Bread", "Description": "Whole grain bread"});
Ich erhalte die folgende Fehlermeldung.
OPTIONEN http//services.odata.org/V2/(S(lts2i32bwwy01zoq4cxyscwt))/OData/OData.svc/Products 501 (Nicht Implementiert)
XMLHttpRequest-Objekt kann nicht geladen werden http//services.odata.org/V2/(S(lts2i32bwwy01zoq4cxyscwt))/OData/OData.svc/Produkte. Antwort auf preflight-Anfrage nicht passieren access control check: Kein "Access-Control-Allow-Origin' - header vorhanden ist, auf die angeforderte Ressource. Ursprungs "chrome-extension://cdcbiglainpfeapfejdjdkldcehjakfi' ist daher nicht der Zugriff erlaubt. Die Antwort hatte HTTP status code-501.
Fehler-Screenshot
Kann bitte jemand mich leiten, um das Problem zu beheben.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Möchten Sie vielleicht versuchen Sie, Access-Control-Allow-Origin header. Der response-header gibt an, ob die Antwort, die geteilt werden können, mit Ressourcen und mit der angegebenen Herkunft.
Möglicherweise möchten Sie auch prüfen, Mit CORS tutorial für ein besseres Verständnis. In diesem tutorial erwähnt, über die Notwendigkeit der Einbeziehung
Access-Control-Allow-Origin
- header in alle gültig CORS Antworten und das auslassen der header wird verursachen, dass die CORS-request fehl.Lösungen gegeben, die im folgenden SO Beiträge möglicherweise auch helfen:
Access-Control-Allow-Origin
funktioniert!