Der Versuch, eine AJAX-Anfrage von einem modalen Popup aufzurufen.AJAX-Aufruf von einem Popup-modal
function exportReport(){
$.ajax({
url : 'exportReport',
data : {
from : fromDate,
to : toDate
},
success : function(responseText) {
alert("Success");
}
});
}
Servlets:
@WebServlet("/exportReport")
public class GenerateReportServlet extends HttpServlet {
}
main.jsp:
<%@ page language="java" session="false" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<head>
....................
<div class="modal fade" id="myModal" role="dialog">
<button type="button" class="btn btn-primary btn-sm" data-dismiss="modal" onclick="exportReport()">Export</button>
</div>
....................
</html>
main.jsp ist innerhalb webapps\views
. Diese Exportschaltfläche befindet sich in einem modalen div-Popup-Fenster. Klicken Sie auf Export ruft,
http://localhost:8080/myApp/views/exportReport?from=1465972200000&to=1465107600000
und ist HTTP-Status 404. Es sollte wie http://localhost:8080/myApp/exportReport?from=1465972200000&to=1465107600000
kommen. Wie das /views/
in der URL kommt.
Es funktioniert. Aber der Bericht wird nicht generiert. Aber wenn ich die URL manuell in einen Browser einfüge, wird es generiert seltsam erscheint. Überprüft das Servlet. – NaaN
Muss etwas auf Ihrer Serverseite sein, zum Beispiel, wie die Daten empfangen werden. Versuchen Sie, ajax 'method' auf' GET' und 'dataType' auf' html' zu setzen. Siehe API für weitere/alternative ajax-Eigenschaften: http://api.jquery.com/jquery.ajax/ –