2015-10-10 86 views
0

我想從javascript調用serlvet。下面的代碼:如何從javascript函數調用servlet doPost方法?

document.location.href="service1servlet"; 

它完美地代表打電話給servlet但有錯誤爲:

HTTP Status 405 - HTTP method GET is not supported by this URL 

我猜它希望在servlet的doGet方法。如何讓它在該servlet中調用doPost方法? Servlet doPost方法如下:

public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 
    System.out.println("THIS IS IN SERVICE!SERVLET AND CAN CHANGE DATABASE"); 
} 

回答

0

是否有任何理由爲什麼你的servlet應該只支持POST方法?如果沒有,我建議你堅持使用GET方法。

無論如何,你總是可以在你的doGet方法中調用doPost。

定義一個doGet方法,如ff。例如:

public void doGet(HttpServletRequest request, HttpServletResponse response) 
    throws ServletException, IOException { 
    doPost(request, response); 
} 

或者如果您確實需要僅支持POST方法,那麼您提到的Javascript函數將不起作用。 POST請求可以通過表單提交完成。

0

您可以通過使用Ajax或使用jQuery來完成此操作。這是調用servlet的jQuery代碼,其url模式爲/yourServlet

<script src="http://code.jquery.com/jquery-latest.min.js"></script> 
<script> 
    $.post('yourServlet', function(data) { 
     alert(data); 
    }); 
</script> 

我會建議你去通過這個

相關問題