用ajax+json连接yahoo搜索web service打造本地搜索引擎

今天写了一个demo,利用yahoo提供的Yahoo! UI Library调用search web service,实现本地搜索.下面是代码片断说明:

调用Yahoo! UI Library Connection Manager的必要代码:
[javascript]


[/javascript]

查询表单
[html]

关键字
:

[/html]

yahoo提供的的web service,可以直接以json的格式返回数据,也支持xml格式,这里采用json
[javascript][/javascript]

最开始使用了上面的代码片段,在本机能够成功调用yahoo的web service,但是经常报跨站警报,相当不便.
于是采用代理模式,写了个很简单的proxy.php,如下:

< ?php
$searchUrl = 'http://api.search.yahoo.com/ImageSearchService/V1/imageSearch?appid=YahooDemo&results=4&output=json&query=';
if(!empty($_POST['query']))
 echo file_get_contents($searchUrl . $_POST['query']);
?>

而js部分只要做个小小调整

[javascript]var searchUrl = ‘proxy.php’;

…………………………….

//查询
function searchIt(query) {
if(!query)
return;
resultWin.innerHTML = ‘查找ing…..
‘;
YAHOO.util.Connect.asyncRequest(‘POST’, searchUrl, callback, ‘query=’ + query);
}[/javascript]
最后就以这段简单的代码实现了本地搜索,你可以在此demo的基础上进一步完善,例如翻页,调整每页显示的数目等等,具体参数请参考http://developer.yahoo.net/search/local/V3/localSearch.html

解压密码:www.ooso.net
demo下载

参考文档:
http://developer.yahoo.net/yui/connection/index.html
http://developer.yahoo.net/php/howto-parseRestPhp.html

作者: 发表于March 7, 2006 at 5:18 pm

版权信息: 可以任意转载, 转载时请务必以超链接形式标明文章原始出处作者信息及此声明

Tags: ,,,,

8 条评论 »

  1. 刘 于 2006-03-11 @ 09:10:34 留言

    请教一个问题,出现如下错误应该怎样解决:

    —————————
    错误
    —————————
    出现了运行时间错误。
    是否要进行调试?

    行: 306
    错误: 系统错误: -1072896658。

    —————————
    是(Y) 否(N)
    —————————

  2. volcano 于 2006-03-11 @ 10:26:32 留言

    是运行上面的demo出现的错误?

  3. 刘 于 2006-03-11 @ 15:56:08 留言

    对, 没做改动,运行demo出现错误.

  4. volcano 于 2006-03-12 @ 20:38:55 留言

    请问你的运行环境是?

    我运行过的环境是:
    apache2+php4.3/php5+ie6/firefox 1.07

  5. 刘 于 2006-03-13 @ 13:24:18 留言

    我运行的环境是

    win2000 + apache2.0.5 + php4.3 + ie6/firefox1.0

    这个报错是在IE下面报错的.

    我的MSN lwter#hotmail.com (#替换成@)

  6. 刘 于 2006-03-13 @ 14:30:35 留言

    非常感谢volcano 的耐心指导.

    关于这个错误, volcano找到了,这个链接是:

    http://www.panoramio.com/blog/explorer-system-error-1072896658/

  7. Michael 于 2006-07-11 @ 17:20:41 留言

    http://weblogs.asp.net/mschwarz/archive/2006/07/11/Yahoo_2100_-Web-Services-Request-and-AjaxPro-JSON-Parser-_2D00_-I-love-it_2100_.aspx

    A great example on how to use Yahoo! JSON output.

  8. » Ajax+PHP+YUI手工制作rss阅读器 - 某人的栖息地 于 2007-07-05 @ 08:06:48 留言

    [...] 用ajax+json连接yahoo搜索web service打造本地搜索引擎Pear::Pager和AJAX的整合应用Connection Manager Of YUI用php5来赚大钱试用google search的Ajax api用php将rss转化为json格式php+ajax文件上传进度条当ajax遭遇系统错误: -1072896658Rasmus Lerdorf: 无框架式的PHP MVC 框架phpmore vol6 发布 [...]

RSS 为此帖反馈评论 · 反向跟踪 网站

留条评论