Как позвонить в Yahoo Search Boss v2 с помощью JQuery - PullRequest
1 голос
/ 07 октября 2011

Пожалуйста, кто-нибудь даст мне пример того, как вызвать yboss (v2) с помощью jquery. Я пытался использовать методы getJSON и $ .ajax, передавая правильные значения oauth и подпись, но ни один из методов не вызывает функцию обратного вызова. Работал тот же код хорошо с v1 босса.

Вот пример URL (requestStr), который я передаю ajax:

    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.

Спасибо

Rob

    $.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 Ответ

1 голос
/ 07 октября 2011

Ваш URL не содержит параметр callback GET. $.getJSON запрашивает JSONP только в том случае, если находит это в URL, поэтому это не работает. $.ajax, однако, предположительно добавит его в URL, если вы укажете dataType как "jsonp", в соответствии с документацией jQuery. Тем не менее, я вижу примеры в дикой природе, которые включают в себя обратный вызов в URL, независимо от указания "jsonp" в качестве dataType. Итак, дай ему шанс.

Как подсказал @Eonasdan, проверьте ответы, которые вы получаете в своей консоли. Если они красные, это означает, что есть какая-то ошибка, и в 99,9% случаев, подобных этим, это связано с политикой того же происхождения.

...