У меня проблема с функцией автозаполнения jquery. Если я укажу источник, который не перенаправляется, мой автозаполнение работает без проблем (это было в моей тестовой среде). Для производства это должно работать в нашем инструменте документооборота.jquery autocomplete source redirects
Страница источника jquery также написана в этом инструменте рабочего процесса и выводит данные. Проблема только в том, что когда я вызываю эту страницу вывода с параметрами GET, она перенаправляет меня на другую страницу, содержащую результаты JSON.
У jquery, похоже, есть проблема с этим, так как у меня нет никаких предложений.
Это JQuery для поля ввода:
$(function() {
$("#unameLeiter").autocomplete({
source: function(request, response) {
$.ajax({
url: "http://localhost:8082/ivy/pro/designer/ldapCurrent2/137553578A7A2B3F/persons.ivp",
dataType: "jsonp",
data: {
search: request.term
},
success: function(data) {
response($.map(data.persons, function(item) {
return {
label: item.cn,
value: item.imPersonalNumber
}
}));
}
});
},
minLength: 0,
select: function(event, ui) {
$("<div/>").text(ui.item.label + " " + ui.item.value).prependTo("#output");
}
})
})
HTML, выглядит довольно противно, но это не важная часть, так как есть только поле ввода и вывода дел. Когда я просматриваю сетевые запросы, я вижу, что jquery выполняет правильные обращения к «исходному» URL-адресу, но затем перенаправляется на другой URL (результаты показывают, что я искал).
Итак, как мне обрабатывать источники в jquery, которые перенаправляются на фактический вывод?
Резюмируя
- JQuery отправляет данные как этот
http://source/persons.ivp?callback=jquery87346&search=John
- Workflow инструмент принимает параметры, обрабатывает их и перенаправляет на новый адрес
http://source/L84FJ8LA4LS/CMSObject.ivc?taskId=84&processId=LKIA47&pid=KS4U6T84LSZ
- Новый URL содержит результаты для параметра
John
- jQuery не обрабатывает результат из-за перенаправления
302 permanently moved
.
У меня нет способа изменить поведение этого инструмента рабочего процесса. Поэтому мне придется решить эту проблему с помощью jQuery.
Обновление: Я заметил, что JSP-файл, который выводит данные JSON, html-кодирует мой вывод, что, кажется, мешает jquery. Кто-нибудь знает, как я могу печатать данные в JSP без html-encoding?
Как это выглядит, когда я просматривать исходный код выхода-страницы: jquery1234({"total":"2", "persons":[{"cn":"John Smith", "imPersonalNumber":"5616"},{"cn":"Peter Jackson", "imPersonalNumber":"7016743"}]})
Как это выглядит нормально:
jquery1234({"total":"2", "persons":[{"cn":"John Smith", "imPersonalNumber":"5616"},{"cn":"Peter Jackson", "imPersonalNumber":"7016743"}]})