Soluzione veloce per aggirare la protezione CORS ed il problema “origin not allowed” con Ionic / Cordova

Durante il ciclo di sviluppo di una app mobile ibrido con Ionic si utilizza spesso la funzione

ionic serve

per visualizzare l’applicazione all’interno del browser. In questa condizione però il browser ci impedisce di eseguire le chiamate AJAX dirette ad un dominio diverso dal nostro PC a causa della protezione CORS (Cross Origin Resource Sharing) ormai attiva di default su tutti i browser. La protezione CORS è la causa di messaggi di errore del tipo:

XMLHttpRequest cannot load http://api.ionic.com/endpoint.
No 'Access-Control-Allow-Origin' header is present on the requested resource.
Origin 'http://localhost:8100' is therefore not allowed access.

La piattaforma Ionic include un apposito proxy da configurare per risolvere il problema seguendo le istruzione della guida http://blog.ionic.io/handling-cors-issues-in-ionic/ , però il modo più veloce è quello di disattivare (temporaneamente) la protezione CORS dal nostro browser.

Io personalmente trovo molto comodo preparare un link sul desktop per lanciare i browser con la protezione disattivata da utilizzare solo per il debug delle applicazioni Ionic. In Windows lo abbiamo già usato questa tecnica nel 2013 lavorando con Sencha Touch. Lo stesso principio si può applicare anche in ambiente MacOS X.

Ad esempio il comando da terminale per avviare Google Chrome con CORS disattivata è:

/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --disable-web-security

A questo punto non resta che creare uno script eseguibile da posizionare sul desktop o nella docking bar.

Annunci

Rispondi

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...