是否可以從JavaScript變量中獲取值並在Java Servlet中使用此值?我已經閱讀了這篇文章,但我發現通過表單提交獲得JavaScript值。從javascript中dropdropllist selected items到servlet
我需要的是:
- 我有一個HTML選擇組合框。
- 我需要從中提取選定的值,並使用此值來查詢數據庫的 。
這可能嗎?
是否可以從JavaScript變量中獲取值並在Java Servlet中使用此值?我已經閱讀了這篇文章,但我發現通過表單提交獲得JavaScript值。從javascript中dropdropllist selected items到servlet
我需要的是:
這可能嗎?
那麼,JavaScript的運行在客戶端和servlet的服務器上運行。所以您確實需要以某種方式將值發送到您的服務器。這兩種(典型)方法是使用表單提交或Ajax。既然你提到的價值來自一個選擇框,我假設你想更新頁面上的東西,當用戶改變選擇,使用Ajax可能會是你想要的。
除非需要更新的數據量非常大,可能會經常更改,或者您的預期客戶端在帶寬或計算能力方面確實有限(如移動設備),您可能還會嵌入頁面上所需的所有數據並根據選擇有選擇地隱藏和顯示數據,而無需使用服務器調用。如果在您的情況下可能會發生這種情況,那麼比使用Ajax更容易感受到快速和響應。
您可以使用AJAX請求將客戶端值發佈到服務器。由於AJAX是由於跨瀏覽器問題而沒有任何JavaScript庫的痛苦,因此此示例使用流行的jQuery庫。
HTML:
<form id="example-form" action="/path/to/servlet" method="post">
<select> .... </select>
<div class="result"> The result from server is displayed here. </div>
</form>
的Javascript:
$(function() {
var f = $('#example-form');
$('select', f).change(function() {
$('.result', f).html('Wait...').load(f.attr('action'), f.serialize());
});
});