首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >jQuery:雅虎自动补全/自动推荐

jQuery:雅虎自动补全/自动推荐
EN

Stack Overflow用户
提问于 2011-12-05 11:09:44
回答 1查看 1.3K关注 0票数 5

我在试着找回雅虎自动补全功能。

雅虎的JSON url是:http://ff.search.yahoo.com/gossip?output=fxjson&command=query

所以我有:

代码语言:javascript
复制
   $("selector").autocomplete({
        source: function( request, response ) {
            $.ajax({
                url: "http://ff.search.yahoo.com/gossip",
                dataType: "jsonp",
                data: {
                    "output" : "fxjson",
                    "command" : request.term
                },
                success: function( data ) {
                    response(data[1])
                }
            })
        }
    });

下面是一个例子:http://jsfiddle.net/yQbdb/

有人能发现一个错误或者我做错了什么吗?应该能行得通。

谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-12-05 11:52:32

output设置为jsonp对我来说很有效。

有关输出的结构,请参见example query

解释如下。

代码是。

代码语言:javascript
复制
$("#wd6450").autocomplete({
    source: function(request, response) {
        $.ajax({
            url: "http://ff.search.yahoo.com/gossip",
            dataType: "jsonp",
            data: {
                "output": "jsonp",
                "command": request.term
            },
            success: function(data) {
                var suggestions = [];
                // for each element in the data.gossip.results array ...
                $.each(data.gossip.results, function(i, val) {
                    // .. push the value of the key inside our array
                    suggestions.push(val.key);
                });
                // call response with our collected values
                response(suggestions);

            }
        });
    }
});

说明:

通过使用dataType: "jsonp",jQuery期望输出格式为JSONP。当您使用output: "fxjson"从代码中进行调用时,URL看起来像,但是正如您所看到的,输出不是有效的JSONP,因为回调没有被调用。

另一方面,当您指定output: "jsonp"时,查询看起来像,正如您所看到的,输出是一个有效的JSONP -回调被调用。

您在评论中链接了一个Amazon示例。$.ajax()调用将尝试像一样访问URL。Amazon的webservice的输出是有效的JSONP,因为回调是用所有数据调用的。

因此,结果是:如果您通过使用output: "jsonp"配置$.ajax()在URL中提供?output=jsonp参数,Yahoo webservices将以JSONP格式返回。默认情况下,Amazon的webservice返回此格式,没有任何额外的参数。这是特定于with服务的配置,必须参考其文档或其他相关资源。

有关JSONP可用的信息。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8380623

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档