Рычаг и изменение ajax запрос

Я являюсь новым JQuery. Я использую закрытую платформу, которая позволяет мне добавлять код, но не изменять часть поведения. Для добавления функциональности я должен сцепить в определенный запрос Ajax и любое перенаправление ее к своему URL (таким образом, я могу изменить данные там и быть прокси), или измените параметры запроса в стороне клиента.

Действительно ли это возможно с JQuery? И если так, как?

Исходное событие запущено после того, как поле ввода текста обновляется.


Обновление:

После дальнейшего контроля кажется, что текстовым полем управляют с помощью плагина Автоматического заполнения JQuery. Я пытаюсь перевести слова, возвращенные из этого запроса ajax. В основном пользователь вводит текст на одном языке, и я хочу перевести это в английский язык (сам перевод не является проблемой), таким образом, автоматическое заполнение будет использовать английские слова, и затем я хочу перевести из английского языка на язык оригинала, быть отображенным в текстовом поле и толпящемся отделении.

6
задан Lightness Races with Monica 7 July 2011 в 18:28
поделиться

5 ответов

Я использовал плагин автозаполнения jQuery, чтобы сделать нечто подобное, хотя и не в сценарии, в котором я имею дело с «закрытой структурой».

Вы сможете легко выполнить то, что хотите, используя метод .setOptions () для объекта автозаполнения после его инициализации. Итак, ваш код будет выглядеть примерно так (непроверенный! Псевдокод!):

$(autoCompletedField).setOptions({
   formatItem: function(resultsRow, resultPosition, totalResults, inputWord) {
      // translate your menu items to be displayed in the drop down menu here
      // perhaps extend jQuery to handle $.translate(inputWord) ?
      return "<li>"+translatedWord+"</li>";
   }
}).result(function(event,selectedItem){
   // optionally do something more when the user selects one of those items here
   // translate the selectedItem back to another language? i dont know.
   return translatedItem;
});

проверьте параметры: http://docs.jquery.com/Plugins/Autocomplete/autocomplete#url_or_dataoptions

5
ответ дан 10 December 2019 в 02:47
поделиться

Я не думаю, что есть простое решение того, что вы пытаетесь сделать, так как объект XMLHTTPRequest довольно закрыт по соображениям безопасности.

Если Вам повезет, то часть, которая выполняет AJAX-запрос, разбивается на функцию, которую Вы можете перезаписать или переопределить с помощью объекта-прототипа.

Если нет, то, вероятно, лучше перехватить событие изменения в текстовом поле.

В jQuery:

$('#textboxid').unbind();
$('#textboxid').change(function () {
    $.ajax({
         url: 'http://yourwebservice',
         data: {}, //the data to send to your webservice
         success: function (data) {
             //do your magic
         };
    })
});
3
ответ дан 10 December 2019 в 02:47
поделиться

Используйте плагин jquery для перевода Google. Я очень успешно использовал его для перевода текста в прошлом: http://code.google.com/p/jquery-translate/

0
ответ дан 10 December 2019 в 02:47
поделиться

Вы могли бы посмотреть, как реализовать свой код в "beforeSend" запроса AJAX?

0
ответ дан 10 December 2019 в 02:47
поделиться

Рассматривали ли вы паттерн наблюдателя в javascript? Я создал пример в своем блоге. Это может помочь вам.

http://www.versomas.com/dannyg/post/Observer-pattern-in-Javascript.aspx

1
ответ дан 10 December 2019 в 02:47
поделиться
Другие вопросы по тегам:

Похожие вопросы: