L'applicazione backbone.js
My lancia un OPZIONI HTTP non trovato errore quando provo a salvare un modello sul mio servizio Web riposante che si trova su un altro host/URL.Errore OPZIONI HTTP in Codeigniter Restserver e Backbone.js di Phil Sturgeon
Sulla base della mia ricerca, ho raccolto da questa post che:
una richiesta sarebbe costantemente inviare una richiesta di intestazione OPZIONI http, e non far scattare la richiesta POST a tutti.
Apparentemente il CORS con richieste che "causano effetti collaterali sui dati dell'utente" farà sì che il browser "verifichi" la richiesta con l'intestazione di richiesta OPTIONS per verificare l'approvazione, prima di inviare effettivamente il metodo di richiesta HTTP desiderato.
Ho cercato di aggirare questo ostacolo:
- settting emulateHTTP in Backbone true.
Backbone.emulateHTTP = true;
ho anche permesso ammessi tutti CORS e le opzioni CSRF nell'intestazione.
intestazione ('Access-Control-Allow-Origin: *');
intestazione ("Access-Control-Allow-Headers: Origin, X-Requested-With, Content-Type, Accept"); intestazione ("Access-Control-Allow-Methods: GET, POST, OPTIONS");
L'applicazione si arrestava in modo anomalo quando veniva introdotta la riga di codice Backbone.emulateHTTP
.
C'è un modo per rispondere alla richiesta OPZIONI in CodeIgniter RESTServer e ci sono altre alternative per consentire o disabilitare questa richiesta dal luogo di conversazione?
Ho trovato this on Github come una soluzione. Non sono sicuro se dovrei usarlo come sembra un po 'obsoleto.
perfetto! Grazie! –
Dopo aver cercato per ore; questa era la soluzione.Grazie :) –
Sopra di esso possiamo aggiungere "Access-Control-Allow-Origin" come questo, header ('Access-Control-Allow-Origin:'. $ _SERVER ['HTTP_ORIGIN']); In questo modo è possibile controllare consentire quale dominio accede alle proprie API. –