我们有一个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>"
}
}
})
答案 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
}
}
})