2012-01-17 5 views
2

Я пользуюсь службой Google Translator v2, и это отлично работает с небольшими текстами. Для больших текстов Google дает подсказку о отправке запроса POST вместо GET. Это имеет смысл. Я просто не понимаю, как это сделать. Если я использую следующий код и заменяю «GET» на «POST», я все равно получаю ошибку «414: URI слишком долго». Может ли кто-нибудь помочь мне понять, как я могу заставить функцию JSON работать с помощью POST, поэтому я могу запросить большие тексты?Сделать JSON использовать запрос POST вместо GET с ASP

$.ajax({ 
    type: "GET", 
    url: "https://www.googleapis.com/language/translate/v2", 
    data: { key: "<key>", source: FromLang, target: DestLang, q: Text }, 
    dataType: 'jsonp', 
    success: function (data) { 
    var ReturnedTextalert = data.data.translations[0].translatedText; 
    setEditor(ReturnedTextalert, LongLang, DestField); 
    }, 
    error: function (data) { 
    alert('fail'); 
    } 
}); 
+0

Вы уверены, что вынуждены обновить страницу с помощью JavaScript? Произошло со мной несколько раз, что он не загрузил обновленный сценарий должным образом, хотя редактор в браузере показал, что он не синхронизирован с тем, что он загружал. CTRL + F5 решил это для меня. – MrKiane

+0

Я, очевидно, пробовал это, попробовал еще раз. Очистил кеш и т. Д. Никакого эффекта. Ошибка консоли дает мне 414, также говорит, что «GET» слишком длинный. Значение eventhou я поставил «POST» в функции JSON, он по-прежнему считается «GET». – Nehbur

ответ

1

Интересно. У меня была такая же проблема с v1, но Google исправил ее. Я использую (бесплатно) Bing Translator и, похоже, работает каждый бит, а также Google, и, похоже, не имеет такого же максимального байта в 500 байт. проблема. Вот подключаемый модуль jQuery, который я написал с использованием Google, а теперь Bing: jquery.bunkerhill.com.

+0

В v1 у меня была функция, которая могла бы повторить вызов с разными кусками. Я бы продолжал добавлять куски переведенных текстов, пока не будет переведен полный текст. Это сработало хорошо, это просто не так просто с JSON. Я попытался повторить звонки (даже из-за «успешных» в JSON, но Google продолжал переводить только последний вызов, а не все мои звонки. Если у меня нет решения для Google, я собираюсь попробовать ваше решение Bing точно ! Благодаря! – Nehbur

Смежные вопросы