Google-translate поддерживает CORS? - PullRequest
0 голосов
/ 05 апреля 2011

Возможно ли получить доступ к google-translate (API v2) с помощью

  • Javascript
  • POST
  • Обмен ресурсами между источниками (CORS)

Это довольно легко сделать с помощью GET, но URL-адрес ограничен 2k символами (больше похоже на 2072).

Переводимая строка кодируется с помощью encodeURIComponent. Это означает, что фактическая длина строки составляет менее 360 символов (греческий). Похоже, что я могу перейти с 360 ч на 5 000 ч, используя POST, что является значительным улучшением.

Я знаю, что могу позвонить на свой сервер и заставить его вызвать google-translate, но, кажется, это излишне, если возможно решение CORS.

1 Ответ

0 голосов
/ 05 апреля 2011

Я думаю, что вы можете. Документация гласит:

Вы также можете использовать POST для вызова API, если вы хотите отправить больше данных в одиночный запрос. Параметр q в тело POST должно быть меньше 5K персонажи. Чтобы использовать POST, вы должны использовать заголовок X-HTTP-Method-Override для скажите API-интерфейсу Translate для обработки запрос как GET (используйте X-HTTP-Method-Override: GET).

Поскольку этот API также поддерживает параметр callback , вы можете создать запрос JSONP, что означает, что вы можете получить его междоменный.

Не можете ли вы сделать запрос с помощью метода jQuery ajax, сделать запрос с dataType: "jsonp" и type: "POST"?

Имейте в виду, я не проверял это.

...