2011-10-07 107 views
1

請有人給我一個如何使用jQuery調用yboss(v2)的例子。 我試過使用getJSON和$ .ajax方法傳遞正確的oauth值和 簽名,但都沒有方法調用回調函數。相同的代碼工作 罰款與老闆的v1。如何使用jQuery調用雅虎搜索Boss v2

這裏的網址(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。

感謝,

羅布

$.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 
     } 
    }); 
+0

你的錯誤控制檯在FF或螢火蟲顯示錯誤?嘗試使用提琴手,看看你得到什麼迴應 – Eonasdan

+0

是的,我得到一個401(需要授權) –

回答

1

你的網址不包括callback GET參數。 $.getJSON只會在URL中發現請求JSONP,所以這就是爲什麼不起作用。然而,根據jQuery文檔,如果您將dataType指定爲「jsonp」,則$.ajax可能會將其添加到URL中。但是,無論將「jsonp」指定爲dataType,我都會在URL中看到包含回調的示例。所以,給它一個鏡頭。

由於@Eonasdan建議,請檢查您在控制檯中獲得的回覆。如果它們是紅色的,那意味着存在某種錯誤,在99.9%的情況下,這是由於同源策略。

+0

根據JQuery文檔「如果URL包含字符串」callback =?「(或類似的,由服務器定義端API),請求將被視爲JSONP。「我的網址確實有這個。我認爲,因爲這是一個跨域訪問,我需要JSONP。 –

+0

對不起。看了那個URL 50次,直到現在纔看到回調參數。不過,你有沒有檢查過你在控制檯中得到的迴應? –

+0

是的,我得到了401(需要授權)。但我不知道如何解決這個問題。謝謝。 –