Заставьте JSON использовать запрос POST вместо GET с ASP - PullRequest
2 голосов
/ 17 января 2012

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

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

1 Ответ

1 голос
/ 17 января 2012

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

...