jQuery+Bing API实现简易搜索引擎

创建日期:2009年7月3日 来自:蓝色理想 浏览:1763次 作者:匿名

为搜索按钮绑定处理方法:

$(function() {
    $('#btnSearch').click(function() {
//这里调用最关键的Search方法,取数据
        Search();
    });
});

下面来看最关键的Search部分,调用API获取结果数据:

$(function() {
function Search() {
 
//获取用户输入的搜索词,并替换空格为“+”
        var searchTerms = $('#txtQuery').val().replace(" ", "+");
 
//将接口需要的所有参数封装为数组
        var arr = [AppId, Query + searchTerms, Sources, Version, Market, Options, "Web.Count=" + WebCount, "Web.Offset=" + WebOffset, "JsonType=callback", "JsonCallback=?"];
 
//将参数数组拼装成url串,最终得到bing的URL Service的请求URL
        var requestStr = "http://api.search.live.net/json.aspx?" + arr.join("&");
 
//通过jquery ajax调用bing json数据接口
        $.ajax({
            type: "GET",
            url: requestStr,
 //指定数据类型为jsonp
            dataType: "jsonp", 
 
//调用成功后返回数据对象,并调用处理方法
            success: function(msg) {
                SearchCompleted(msg);
            },
            error: function(msg) {
                alert("Something hasn't worked\n" + msg.d);
            }
        });
    }
});

我们看到在使用jquery ajax时,指定数据类型为jsonp,jsonp是一种可跨域访问的协议,我对其也不是非常清楚,可以在这里了解一下。另外 CSS9.NET 也计划在后面的文章中讲解json的相关知识,敬请关注。

再来看获取到数据后的UI处理,主要包括显示结果和显示错误信息两部分:

    function SearchCompleted(response) {
//检查结果数据对象中的Errors对象,判断是否发生错误
        var errors = response.SearchResponse.Errors;
        if (errors != null) {
            // 发生错误的话调用错误信息显示方法
            DisplayErrors(errors);
        }
        else {
            // 没有错误的话调用结果信息显示方法
            DisplayResults(response);
        }
    }

  首页   上一页   1   2   3   下一页   尾页 

责编:yezi
相关搜索: jQuery+Bing   API简易   搜索   引擎  
Google
嗷嗷毙技术网版权申明:大家可以自由转载我站点的文章,但原作者和来自我站的链接必须保留(非我站原创的,按照原来链接,自行链接)。文章版权归作者所有。
特别注意:本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有,文章若有侵犯作者版权,请与我们联系,我们将立即删除修改。
子栏目
搜索 
Google