2016-01-06 4 views
0

У меня есть JSP1 со ссылкой, которая вызывает функцию (Ajax), чтобы передать переменную другому JSP2. Похоже, что jsp2 загружается дважды. Любая идея почему?JSP называется дважды через Ajax/a href?

Мой журнал приложение консоли:

my_id = 77An2J 
my_id = null 

JSP1 код:

<a href="#" onClick="list_edit('<%=request.getAttribute("id")%>');return false;">Edit List</a> 

JSP2 имеет следующий код:

String my_id = request.getParameter("id"); 
System.out.println("my_id = " + id); 

JQuery:

function list_edit(id) { 
    ajax_redirect('/jsp2.jsp', { id: id }); 
    } 

    function ajax_redirect(url, data) { 
    $.ajax({ 
     type: "POST", 
     url: url, 
     data: data, 
     complete: 
     function() { 
      window.location = url; 
     } 
    }); 
    } 

EDIT Итак, технически я пытаюсь добиться следующего: 1) Сервлет читает URL, анализирует идентификатор, загружает данные из БД на основе идентификатора и выводит результаты на экран. Здесь я также отображение «Edit List» ссылка

2) Нажав кнопку «Редактировать список» ссылку должен отправить переменные из сервлета JSP2, а также загружать JSP2 в браузере

я застрял на шаге 2 Возможно ли это?

ответ

1

Первый вызов JSP2 в Ajax после вызова, но второй вызов в этой инструкции window.location = url; и в этом случае вы не передаете идентификатор, так и в журнале отображается нулевой.

+0

Верно, но если я удалю 'window.location = url;' ajax-вызов не загружает мой URL-адрес в браузере ... –

+0

Не используйте ajax и делайте это синхронно. – glw

+0

Верно, что это работает так. благодаря –

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