没有结果返回JavaScript搜索时显示消息

时间:2012-06-07 18:44:20

标签: javascript html bing-api

我们有一个JavaScript搜索脚本,可以从Bing API中提取数据。但是,如果未找到用户查询的结果,则只显示空白页面。 如何让脚本显示无结果消息,例如"找不到任何内容。"?

ajax({
    type:"GET",
    url:"http://api.bing.net/json.aspx?appId=APPID&query=QUERY&sources=web&adult=strict&web.count=10&cc=en&jsontype=callback&jsoncallback=?",
    dataType:"jsonp",
    success:function(a){
        $ID("results").innerHTML="<h2>Search</h2>";
        for(var c=0;c<a.SearchResponse.Web.Results.length;c++){
            var d=a.SearchResponse.Web.Results[c];
            $ID("results").innerHTML+="<a href=\""+d.Url+"\" id=\"result\"><div id=\"title\">"+d.Title+"</div><div id=\"url\">"+d.DisplayUrl+"</div>"+d.Description+"</a>"
        }
    }
})

2 个答案:

答案 0 :(得分:1)

   function noResults() {
     $ID("results").innerHTML="<h2>Nothing to see here...</h2>";
   }

   ajax({
        type:"GET",
        url:"http://api.bing.net/json.aspx?appId=APPID&query=QUERY&sources=web&adult=strict&web.count=10&cc=en&jsontype=callback&jsoncallback=?",
        dataType:"jsonp",
        success:function(a){
            if (!a.SearchResponse.Web.Results ||
                !a.SearchResponse.Web.Results.length) {
              noResults();
            } else {
              // results processing here
            }
        },
        error : function (a) {
            noResults();
        }
   })

可能不是你想要的,但它或多或少是你所要求的。

答案 1 :(得分:0)

ajax({
type:"GET",
url:"http://api.bing.net/json.aspx?appId=APPID&query=QUERY&sources=web&adult=strict&web.count=10&cc=en&jsontype=callback&jsoncallback=?",
dataType:"jsonp",
success:function(a){
    $ID("results").innerHTML="<h2>Search</h2>";
    if(a.SearchResponse.Web.Results.length > 0 ) {
       for(var c=0;c<a.SearchResponse.Web.Results.length;c++){
          var d=a.SearchResponse.Web.Results[c];
          $ID("results").innerHTML+="<a href=\""+d.Url+"\" id=\"result\"><div id=\"title\">"+d.Title+"</div><div id=\"url\">"+d.DisplayUrl+"</div>"+d.Description+"</a>"
       }
    } else {
        $ID("results").innerHTML = "Sorry no result found"; //you can customize this
    }
}

})