使用 JSONP 实现跨域通信,第 2 部分: 使用 JSONP、jQuery 和 Yahoo! 查询语言构建 mashup
2010-03-09 00:00:00 来源:WEB开发网YQL 可理解和支持的数据源包括:RSS、Atom、JSON、XML、CSV、HTML、Flickr、Yahoo! Finance、Weather 等。由于 YQL 也支持外部数据源(Yahoo! 以外的数据源),因而就有了构建 mashup 应用程序的无限种可能性。可以说,它在单独一个界面内将 Web 与您的应用程序相连。
图 1. YQL 作为仲裁服务
查看原图(大图)
上文已经提到过,YQL 是一种类似于 SQL 的语言,可在 Web 中查询结构化数据。因此,SELECT 是 YQL 语句中的主要动词。其语法也与 SQL 极为相似:
SELECT fields FROM source_table WHERE filter ..
下面的清单展示了一个简单的查询,从纽约时报 RSS 提要检索标题:
select title from rss where url="http://www.nytimes.com/services/xml/rss/nyt/HomePage.xml"
下面是一个更具体的 YQL 示例,检索纽约的素食餐馆,将数量限制为 3 家:
select Title, Address, City, Rating.AverageRating from local.search
where query="vegetarian" and location="New York, NY" limit 3
上面的查询会返回类似于清单 1 的 JSON 响应(忽略所返回的关于查询的元数据)。
清单 1. JSON 查询响应
"results": {
"Result": [
{
"Title": "World of Vegetarian Incorporated",
"Address": "24 Pell St",
"City": "New York",
"Rating": {
"AverageRating": "5"
}
},
{
"Title": "Counter",
"Address": "105 1st Ave",
"City": "New York",
"Rating": {
"AverageRating": "4"
}
},
{
"Title": "Red Bamboo",
"Address": "140 W 4th St",
"City": "New York",
"Rating": {
"AverageRating": "4.5"
}
}
]
}
编缉推荐阅读以下文章
- 使用 JSONP 实现跨域通信,第 1 部分: 结合 JSONP 和 jQuery 快速构建强大的 mashup
更多精彩
赞助商链接