Ajax/Firebase работает только на локальном хосте (политика одного и того же происхождения?)
-
12-12-2019 - |
Вопрос
У меня есть приложение Firebase, которое отлично работает на локальном хосте, но не работает, когда я подключаюсь к нему извне (путем разрешения переадресации портов на моем маршрутизаторе) или когда я загружаю его в Bluehost.
Этот код работает:
$(document).ready(function() {
$("#button").click(function() {
alert('Working!');
});
});
но это не так:
var firebaseRef = new Firebase('[my firebase url]');
$(document).ready(function() {
$("#button").click(function() {
alert('Working!');
});
});
Проведя некоторые исследования, я считаю, что проблема заключается в Та же политика происхождения, поскольку включение Firebase JS
http://static.firebase.com/demo/firebase.js
но моя ссылка на Firebase включена
http://gamma.firebase.com/
Я нашел несколько способов обойти это, но хочу знать, как лучше всего справиться с этим с помощью Firebase (или если здесь вообще проблема в одной и той же политике происхождения).
Решение
Я нашел ответ - просто глупая ошибка с моей стороны.
Просматривая руководства по Firebase, я заметил свою ошибку.я включал в себя http://static.firebase.com/demo/firebase.js
файл, хотя в учебнике четко сказано включить http://static.firebase.com/v0/firebase.js
файл.
Мне до сих пор интересно, почему demo
файл работал только на локальном хосте...
Другие советы
Firebase использует CORS для восстановленных API и WebSockets для клиентов JS,