好的,这是我的问题。我正在这个名为 10winstreak 的小站点上工作,我正在尝试使用 javascript 检测流是否处于实时状态,因为我们运行该站点的服务器无法处理使用 PHP 处理的每个请求。检测流是否实时的基础是您转到他们的 XML 文件并在他们的一个标签中(如果它是实时的)它会说一些类似于真实的内容,并且通常他们网站上的 XML 文件将是空的如果特定流未直播。例如,如果您有一个用于游戏点的 twitch.tv 流,您可以访问http://api.justin.tv/api/stream/list.xml?channel=gamespot,如果里面有东西,那么它就是直播的,如果没有,那就是不是。
所以基本上我的代码如下所示:
function check (URL, term){
$.get(URL , function(data){
console.log(data);
//data is whatever the server returns from the request, do whatever is needed with it to show who is live.
var number = data.search(term);
if (number > -1)
{
document.write("Live");
}
else
{
document.write("Offline");
}
});
}
URL 是传入的 url,term 是要在 xml 文件中搜索的术语(通常是“true”或“True”)。但在发生任何事情之前,我最终得到“XMLHttpRequest 无法加载http://api.own3d.tv/liveCheck.php?live_id=6815 。Access -Control-Allow-Origin 不允许来源(我的服务器的 URL)。”
我已经在整个网络上进行了调查,但似乎找不到任何可以使用的东西。有很多理论的东西,但没有足够的实际代码,我不明白理论的东西能够开始输入代码。从我所见,您有两种方法可以使用,使用 JSONP 或在服务器的某处添加一行以允许跨域访问。我既不完全理解也不知道如何或做什么。有人向我展示需要做些什么来摆脱这个错误会很有帮助。当然,如果您可以向像我这样的非编码人员解释它会更棒,但就我目前而言,只要代码适用于我所关心的一切,它也可能是魔法哈哈。