Bing搜索API使用Jsonp无效,标签无效

在Bing的json请求(bing搜索,而不是map)中苦苦挣扎,我收到一条错误回复,上面写着“无效标签”

我的查询url是:

var bingurl="http://api.search.live.net/json.aspx?Appid=##APIKEY##&query=Honda&sources=web"; $.ajax({ type: "GET", url: bingurl, data: "{}", contentType: "application/json; charset=utf-8", dataType: "jsonp", success: function(data) { $callBack(data); }, error: function(msg) { alert("error" + msg); } }); 

Firebug报告’无效标签’,然后转储json响应。

不知道出了什么问题? 帮助赞赏。

您发布的Bing API URL不是JSONP,它是简单的JSON。

JSONP被解释为原始JavaScript,在这种情况下,JSON对象的{"something": ...语法不是对象文字,而是带有标签名称包含引号的块语句(因此无效)。

据我了解 ,如果你想从Bing获得JSONP,你必须告诉它通过传入参数...&JsonType=callback&JsonCallback= (全局回调函数的名称)。

(我也不确定是什么data: "{}"会做什么,但我觉得没什么好处。)

只是本着保持最新的精神,较新的Bing REST API支持jsonp,你只需要确保“callback”参数是“jsonp”。 在jQuery中只需将$ .ajax()调用中的jsonp属性更改为“jsonp”即可使其工作。

 $.ajax({ url: 'http://some.domain.com', dataType: 'jsonp', jsonp: 'jsonp' });` 

Interesting Posts