2016-06-14 13 views
0

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.

Antwort

1

Sie sollten genauer sein, wenn Sie die URL setzen, sonst wird sie an die aktuelle URL angehängt.

Verwenden Sie stattdessen url : '/myApp/exportReport' im AJAX-Aufruf. Der führende Schrägstrich zeigt an, dass die URL absolut ist.

Wenn Sie den führenden Schrägstrich weglassen, wird die URL relativ zur aktuellen URL.

+0

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

+0

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/ –

Verwandte Themen