2012-07-10 91 views
0

我目前正在使用Chrome擴展和Twitter API玩一下,並且我被卡在請求userstream。Twitter API無法響應從瀏覽器/ JS調用時

我正在生成Auth頭文件,因爲我可以通過curl與它成功調用API,但只要我想通過XHR向它發出請求,網絡選項卡就會將請求顯示爲「待定」。

我將twitter API添加到擴展清單中的權限列表中。這不應該是問題,否則會出現同源錯誤。使用它生成/請求Auth-Token可以正常工作。

這裏的請求頭爲Chrome瀏覽器會將它:

GET https://userstream.twitter.com/2/user.json HTTP/1.1 
Authorization: OAuth oauth_version="1.0", oauth_token="XXXXXXXX-XXXXXXXXXXXXXXXK1UgBBqCls8QGb1FAYU", oauth_consumer_key="XXXXXXXXXXXKPbUx3eA", oauth_signature_method="HMAC-SHA1", oauth_timestamp="1341958387", oauth_nonce="doPiU4", oauth_signature="XXXXXXXXXXqiynLgAT5UIkHgiWk%3D" 
User-Agent: Foo 
Accept: */* 
Cache-Control: max-age=0 

這將產生一個 「等待」 在Chrome reuest,但下面的捲曲要求按預期工作:

curl --get 'https://userstream.twitter.com/2/user.json' --header 'Authorization: OAuth oauth_version="1.0", oauth_token="XXXXXXXX-XXXXXXXXXXXXXXXK1UgBBqCls8QGb1FAYU", oauth_consumer_key="XXXXXXXXXXXKPbUx3eA", oauth_signature_method="HMAC-SHA1", oauth_timestamp="1341958387", oauth_nonce="doPiU4", oauth_signature="XXXXXXXXXXqiynLgAT5UIkHgiWk%3D"' -A "Foo" --verbose 

它產生basicly的相同的標題

回答

0

想通了:

問題是:在jQuery中缺少「數據」設置。看起來它們的$.ajax函數在丟失時不喜歡它,即使對於空的GET請求也是如此