如何使用JQuery调用Yahoo Search Boss v2

时间:2011-10-07 13:58:03

标签: jquery search yahoo

请有人给我一个如何使用jquery调用yboss(v2)的示例。 我尝试使用getJSON和$ .ajax方法传递正确的oauth值和 签名但两种方法都没有调用回调函数。相同的代码工作 与老板的v1很好。

这是我传递给ajax的url(requestStr)示例:

    http://yboss.yahooapis.com/ysearch/web?callback=?&count=10&oauth_consumer_key=dj0yJmk9SFUzQno3ZnUwMHBaJmQ9WVdrOWNXRkRaa1Z2Tm1zbWNHbzlOek01TVRJeU1UWXkmcz1jb25zdW1lcnNlY3JldCZ4PWNk&oauth_nonce=7887075&oauth_signature_method=HMAC-SHA1&oauth_timestamp=1317994276&oauth_version=1.0&q=horse&start=0&oauth_signature=lFVXgxkq79Tp5E5QeyEHdOfbASg=

粘贴到浏览器(chrome)时会返回预期的结果。已成功设置使用Yahoo Boss的付款帐户,以便拨打此API。

谢谢,

罗布

    $.getJSON(requestStr, function (response) {

    // never gets here

    });

    this doesn't work either:

    $.ajax({
      type: 'GET',
      url: requestStr,
      dataType: 'jsonp',
      success: function (response) {
      // never gets here
      }
    });

1 个答案:

答案 0 :(得分:1)

您的网址不包含callback GET参数。 $.getJSON只有在URL中发现JSONP时才会请求JSONP,这就是为什么它不起作用。但是,根据jQuery文档,如果您将$.ajax指定为“jsonp”,则dataType可能会将其添加到URL中。但是,我看到野外的示例包括URL中的回调,而不管将“jsonp”指定为dataType。所以,试一试。

正如@Eonasdan建议的那样,检查您在控制台中获得的回复。如果它们是红色的,那就意味着存在某种错误,在99.9%的情况下,这是由于同源策略。