2016-10-19 1 views
0

Ich habe ein Problem beim Versuch, eine $ http.post zum IFTTT Maker-Kanal durchzuführen. Unten ist der Code, den ich die POST auszuführen bin mit:

XMLHttpRequest cannot load https://maker.ifttt.com/trigger/{my-event}/with/key/{my-key}. 
Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:8100' is therefore not allowed access. 

Ich habe das cordova-Whitelist-Plugin und haben verschiedene Lösungen ausprobiert Zugabe Access-Control-Origin zu der:

$http.post(
    'https://maker.ifttt.com/trigger/{my-event}/with/key/{my-key}', 
    {value1:"hello",value2:"goodbye"} 
).then(
    function successCallback(response) { 
     console.log(response); 
    }, 
    function errorCallback(response) { 
     console.log("error: ",response); 
    }); 

Die Antwort, die ich folgende ist die bekommen Header und immer noch eine ähnliche Antwort.

+0

dieser Fehler ist ein Browser? – Akis

+0

Ich glaube nicht. Ich habe es in mehreren Browsern und auf mehreren Rechnern ausprobiert. Immer noch der gleiche Fehler. – zsoflin

+0

gibt es eine Problemumgehung mit CORS-Plugin https://chrome.google.com/webstore/detail/allow-control-allow-origi/nlfbmbojpeacfghkbbhhdihlkkiljbi – Akis

Antwort

3

CORS-Probleme existieren nur in Browsern. In diesem Fall existieren sie nur unter Verwendung von ionic serve.

Wenn eine App auf ein tatsächliches Gerät bereitstellen, werden Sie nicht erhalten einen CORS Fehler.

Seit CORS ist nur ein Problem, wenn Ihre Anwendung im Entwicklungsmodus mit ionischen Lauf dienen, und nicht, wenn sie als mobile app verpackt mit Cordova ausgeführt wird, eine einfachere Option ist nur für die lokale Entwicklung CORS vollständig deaktivieren . Für Chrome gibt es beispielsweise ein Plugin mit dem Namen "Allow-Control-Allow-Origin: *", mit dem Sie CORS deaktivieren können.

Wenn Sie immer noch in einem Code Weise behandeln cors möchten, können Sie weitere Informationen über die hier http://blog.ionic.io/handling-cors-issues-in-ionic/

Mit erhalten Sie daran, es ist ein schneller und eine bessere Möglichkeit, nur eine CORS-Plugin erhalten für Mozilla oder Chrom. Sie können sie hier

Chrome - https://chrome.google.com/webstore/detail/allow-control-allow-origi/nlfbmbojpeacfghkpbjhddihlkkiljbi

Mozilla - https://addons.mozilla.org/en-US/firefox/addon/cors-everywhere/

Verwandte Themen