我有一个页面,可以选择通过电子邮件发送单个文件或勾选几个文件并通过电子邮件发送。他们俩都使用各自的JavaScript函数将此页面称为email.jsp
。
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
,就像我从电子邮件中看到的那样。 jsp。
现在,我不知道是否有解决方法。有没有一种方法可以根据条件传递数据?
答案 0 :(得分:1)
当然,有一种方法可以做到这一点。
在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
});
}