我是新來玩的框架,我有一個關於實現ajax的問題。 所以我實現了一個搜索頁面 - 上面有一個表單發回日期範圍。 這一切都工作。 但我想讓它與ajax一起工作,所以我有幾個問題。 我是否需要在控制器中創建新的表單類型?就像我以前做過的一樣?或者我可以手動獲取數據嗎?Ajax表單 - 獲取信息
所以目前我的HTML我有以下形式:
<form action="@routes.History.search()" class="pull-right" id="formHistory">
MinDate: <input id="mindate" name="mindate" class="input-small" type="text">
MaxDate: <input id="maxdate" name="maxdate" class="input-small" type="text">
<button class="btn" type="submit">Search</button>
</form>
,這裏是我的javascript:
$('#formHistory').submit(function(evt) {
$('#errors').show();
$.ajax({
type: 'POST',
url: jQuery("#formHistory").attr("action"),
data: jQuery("#formHistory").serialize(),
dataType: "json",
success: function(data) {
alert('History Search');
$("tableHistory").find("tr:gt(0)").remove();
alert(data.id[0].source);
},
error: function(data) {
$('#errors').shows();
alert('History search failed');
}
});
return false;
});
,並在我的history.java文件,我需要出去獲得JSON信息。以前我以
Form<Login> loginForm = form(Login.class).bindFromRequest();
做到了這一點,但我沒有與最小和最大日期的對象可我剛剛得到的JSON信息進行手動?
public static Result search() {
//So here I would like to get the form information
}
接下來的問題是如何做到相反?一旦我得到最小和最大日期,從數據庫中獲得信息,我需要發回迴應。我應該發回一個數據列表的JSON響應,以及如何在JavaScript中處理這個問題?或者我在服務器上創建html並將其作爲字符串發送並附加到apporpriate元素中? 或者我在某些演示中看到的其他選項是創建一個視圖並將其傳回並僅顯示較小的視圖