2011-04-05 80 views
0

是否可以訪問谷歌,翻譯使用谷歌翻譯是否支持CORS?

  • 的Javascript
  • POST(API V2)
  • 跨域資源共享(CORS)

這是很容易做到這一點使用GET,但URL限制爲2k個字符(更像2072)。

要翻譯的字符串使用encodeURIComponent進行編碼。這意味着字符串的實際長度小於360個字符(希臘語)。看來我可以使用POST從360 ch變成5.000 ch,這是一個相當大的改進。

我知道我可以打電話給我的服務器,讓它調用谷歌翻譯,但它似乎是矯枉過正,如果一個CORS解決方案是可行的。

回答

0

我想你可以。該documentation指出:

您還可以使用POST來調用API 如果你想在 單個請求發送更多的數據。 參數中的q POST身體必須小於5K 個字符。要使用POST,您必須使用 X-HTTP-Method-Override標頭 告訴Translate API將 請求視爲GET(使用 X-HTTP-Method-Override: GET)。

由於該API還支持callback參數,因此可以創建JSONP請求,這意味着您可以獲取它的跨域。

你不能用jQuery的請求ajax方法請求dataType: "jsonp"type: "POST"

請注意,我沒有測試過這個。

+0

是的,我已閱讀文檔。我會用JavaScript給它一個鏡頭,但我想知道是否有人做到了。 – pkario 2011-04-06 06:54:37

+0

*如何設置標題的任何信息? – Elisabeth 2011-05-30 18:03:57

+0

@伊麗莎白:jQuery的[ajax](http://api.jquery.com/jQuery.ajax/)方法也有'headers'選項,您可以在其中指定任何自定義標題。請注意,你需要使用jQuery 1.5或更高版本來使用它。 – Martijn 2011-05-31 09:23:18