我是Titanium的新手,并尝试使用THIS教程从YouTube获取特定频道的视频列表。
问题是,我一直得到“没有找到这个搜索的视频”消息(在catch异常中使用),并且从Chrome控制台我得到异常消息:
“请求资源上没有'Access-Control-Allow-Origin'标头。因此不允许来源localhost:8020访问。无法加载资源:服务器响应状态为503(服务不可用)“
有人能指出我对这个问题有什么解决方案吗?从一些谷歌搜索,我发现这不是代码中的问题,这是一个服务器端问题,所以我如何克服这个YouTube响应问题?
我还检查过,这一行var doc = this.responseXML.documentElement;
总是会导致无效,这就是没有找到视频的内容。我改为使用了:
if (!this.responseXML)
{
//if not XML you have to convert it to XML
doc = Titanium.XML.parseString(this.responseText).documentElement;
}
else
{
//if it is XML, then just set the doc variable
doc = this.responseXML.documentElement;
}
仍然 doc 始终为null!提前感谢任何建议。
答案 0 :(得分:1)
好吧,我解决了这个问题。事实上这是一个浏览器问题,当我在桌面测试时,浏览器使用 localhost:8020 作为地址,而YouTube没有回复该地址。
后来,我测试了它是一个真正的Android设备,瞧!它工作.. var doc = this.responseXML.documentElement
显然包含responseXML,然后它通过var items = doc.getElementsByTagName("entry")
提取视频信息。
希望有一天可以帮助某人!