Ajax / Firebase funziona solo su localhost (politica della stessa origine?)
-
12-12-2019 - |
Domanda
Ho un'app Firebase che funziona perfettamente su localhost, ma non funziona quando lo raggiungo esternamente (consentendo il port forwarding nel mio router) o quando lo carico su Bluehost.
Questo codice funziona:
$(document).ready(function() {
$("#button").click(function() {
alert('Working!');
});
});
.
Ma questo non è:
var firebaseRef = new Firebase('[my firebase url]');
$(document).ready(function() {
$("#button").click(function() {
alert('Working!');
});
});
.
Dopo aver fatto qualche ricerca, credo che il problema sia il la stessa politica di origine , dal momento che ilFirebase JS include
http://static.firebase.com/demo/firebase.js
.
Ma il mio riferimento del mio firebase è su
http://gamma.firebase.com/
.
Ho trovato alcuni modi per aggirarlo, ma voglio sapere il modo migliore per gestirlo con Firebase (o se la stessa politica di origine è anche il problema qui).
Soluzione
Ho trovato la risposta - solo un errore stupido da parte mia.
Durante la ricerca attraverso i tutorial di Firebase, ho catturato il mio errore.Sono stato incluso il file http://static.firebase.com/demo/firebase.js
, mentre il tutorial afferma chiaramente di includere il file http://static.firebase.com/v0/firebase.js
.
Sono ancora curioso del perché il file demo
ha funzionato solo su localhost ...
Altri suggerimenti
Firebase utilizza i corri per l'API Respelle e le Websche Web per i clienti JS, VediQuesta risposta , quindi non è un problema.
Sembra un problema relativo al routing.Stai vivendo errori nella console JavaScript?"Non funziona" è un po 'astratto e un errore più preciso potrebbe aiutare a rispondere alla domanda secondaria.