function(start, end) {
console.log("Callback has been called!");
$('#reportrange span').html(start.format('MMMM D, YYYY') + ' - ' + end.format('MMMM D, YYYY'));
var start = start.format('YYYY-MM-D');
var end = end.format('YYYY-MM-D');
getTransaction(start, end);
}
功能 getTransaction :
function getTransaction(start,end){
$.ajax({
type:"POST",
url:"<%= request.getContextPath() %>/getKodeTrsInv",
data:{
startdate:start,
enddate:end
},
success:function(msg){
//alert("Data Inserted" + msg);
},
error:function(msg){
alert("Data Failed to save" + msg);
}
});
}
执行servlet以使用函数 functionGetTransactionTime(startdate,enddate)显示来自名为MasterPesanan的控制器的结果;
这是servlet页面:
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
System sys = new System();
try {
/* GET PARAMETER INPUTS */
Date sd = sys.convertStringToDate(request.getParameter("startdate"));
Date ed = sys.convertStringToDate(request.getParameter("enddate"));
/* CONVERT TO DATE SQL TO EXECUTED*/
java.sql.Date startdate = new java.sql.Date(sd.getTime());
java.sql.Date enddate = new java.sql.Date(ed.getTime());
/*EXECUTE THE CURRENT DATA*/
MasterPesanan psn = new MasterPesanan();
List<Pesanan> pesanan = psn.functionGetTransactionTime(startdate,enddate);
if(pesanan != null){
request.setAttribute("kodeTransaksi", pesanan);
request.getRequestDispatcher("system/invoice.jsp").forward(request,response);
} else {
java.lang.System.out.println("Get Kode Transaction For Inovice Error");
}
} catch(ParseException pe){
java.lang.System.out.println("Get Kode Transaction For Invoice error : " + pe.getCause());
} catch(Exception e) {
java.lang.System.out.println("Error Exception " + e);
}
finally {
java.lang.System.out.println("Get Kode Transaction For Invoice has been executed");
}
}
问题是,当执行servlet时,servlet可以工作,但PAGE不是重定向的。我检查了FIREBUG,servlet被重定向到那里,但是在我的浏览器中它被卡住了。
有关详细信息,函数 functionGetTransactionTime(startdate,enddate); 的结果列表显示在firebug中。 有什么想法吗?
感谢。
答案 0 :(得分:0)
重定向只会在您实际导航到servlet时重定向页面。如果通过Ajax调用servlet,则返回到Ajax的响应将是重定向到servlet的页面的响应,但用户看到的页面不会重定向。只返回Ajax的文本将来自servlet重定向到的页面。换句话说,重定向仅在后台发生。用户仍将看到相同的页面。如果你想要一个真正的重定向,用户看到的页面发生变化,那么就不要使用Ajax来调用servlet:即用HTML表单(或常规链接)将用户发送到servlet。