Ajax/Firebase仅适用于localhost(同源策略?)
-
12-12-2019 - |
题
我有一个Firebase应用程序在localhost上完美运行,但是当我从外部访问它时(通过允许在我的路由器中进行端口转发)或当我将其上传到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 for RESTFUL API和JS客户端的WebSockets,这个答案,所以这不是一个问题。
看起来像与路由相关的问题。您是否在JavaScript控制台中遇到错误?“不起作用”有点摘要,更精确的错误可以帮助回答次要问题。
不隶属于 StackOverflow