【发布时间】:2012-03-07 12:21:48
【问题描述】:
几天来,我们一直在努力寻找解决方案,但我们无法弄清楚为什么这段代码不起作用。
var bing_url='http://api.search.live.net/json.aspx?JsonType=callback&JsonCallback=?&Appid=[OurApp Id]&query='+keyword+'&sources=web';
$.ajax({
type: "GET",
url: bing_url,
dataType:"jsonp",
success: function(response)
{
$("#result").html('');
if(response.SearchResponse.Web.Results.length)
{
$.each(response.SearchResponse.Web.Results, function(i,data)
{
var title=data.Title;
var dis=data.Description;
var url=data.Url;
var finall="<div class='webresult'><div class='title'><a href='"+url+"'>"+title+"</a></div><div class='desc'>"+dis+"</div><div class='url'>"+url+"</div></div>";
$("#result").append(final); // Result
});
parentwin.document.getElementsByTagName("body").item(0).innerHTML += final;
}
else
{
$("#result").html("<div id='no'>No Results</div>");
}
} //success
});
此脚本将从 IE 的任何其他网页调用。它将使用 bing api 从 bing 搜索结果,然后将结果附加到原始页面。
问题:
当我们直接打开它时,这个脚本正在运行。但是从另一个页面调用它就不起作用了。
【问题讨论】:
-
只有IE有问题吗?如果您查看您的开发者控制台,您是否看到有任何请求发出?
-
另外,做一些调试。如果将成功回调替换为 function(){ alert(1) },是否有效?找出失败的确切点。
-
@nicholaides 成功回调在我们从其他网页运行时不显示警报,否则它正在工作并显示来自 bing search api 的结果。
标签: javascript jquery ajax jsonp bing