Как передать данные на основе условий? - PullRequest
0 голосов
/ 25 апреля 2019

У меня есть страница, на которой можно отправить один файл по электронной почте или отметить несколько файлов и отправить их по электронной почте. Они оба вызвали эту страницу email.jsp со своей соответствующей функцией JavaScript.

Email.jsp:

 String files=null;
        String url=null;
        String id=null;
        String hash=null;
        String[] array=null;
        String[] split=null;


        if(multiemail.equals("no")) {

           //get parameters from email()


           files= request.getParameter("filename");
            url = request.getParameter("link");
            id = request.getParameter("id");
            hash = request.getParameter("hash");

       }else{

            split = request.getParameter("link").split(",",0);
            array = request.getParameter("arrayList").split(",",0);

        }

Это означает, что если это одно электронное письмо, получите эти четыре параметра, а если это мульти-электронное письмо, получите два параметра. Пока все в порядке. Теперь, получив атрибуты, я хочу передать параметры в sendemail.jsp для обработки данных.

Итак, моя кнопка отправки вызовет функцию sendmessage():

$.ajax({

               url: 'sendemail.jsp',
               type: 'POST',
               data: {
                   recipient: recipient,
                   subject: subject,
                   content: content,
                   id:"<%=id%>",
                   hash:"<%=hash%>"


               },

               success: function (data) {
                   alert("Successfully initiated email to queue");
               },
               error: function (request, error) {
                   alert("Request: " + JSON.stringify(error));
               }
           });

Так что в этом ajax, это в основном передача данных, основанная на том, является ли это одно электронное письмо. Конечно, это будет работать. Но если я отправляю несколько электронных писем и нажимаю ту же кнопку отправки, они передадут эти же данные на следующую страницу, но для этого не потребуются id и hash, как вы можете видеть из моего email.jsp.

Так вот, я не знаю, есть ли обходной путь. Есть ли способ, которым я могу передавать данные в зависимости от условий?

1 Ответ

1 голос
/ 25 апреля 2019

Определенно, есть способ сделать это.

Просто создайте условие перед вашим вызовом ajax и в скобках {} условия if сделайте запрос ajax с вашими параметрами.Если у вас есть несколько условий if, вам может потребоваться написать несколько ajax-запросов для выполнения условия.

Это мой код JavaScript, если бы я это сделал.

       files= request.getParameter("filename");
        url = request.getParameter("link");
        id = request.getParameter("id");
        hash = request.getParameter("hash");


//  javascript code 

if(files != '' && url != '' && id != '' && hash != '' ) {

    $.ajax({

        // ajax code

    });

} else if (id != '' || hash != '' ) {

    $.ajax({

        // ajax code

    });

}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...