我新的AJAX和正在學習使用Spring MVC使用它。我面臨同樣的問題。
在繼續我的工作實際實時性要求,我測試了與真正的基本讓我理解正確的東西全AJAX + Spring MVC中的jQuery +組合。
我有一個搜索框+「提交」按鈕,在頁面上。我使用$ .get發送硬編碼文本給Spring控制器。然後我從該控制器發送另一個文本回到回調函數,並嘗試使用'alert'框在回調函數中顯示返回的文本。這似乎並不奏效。
我看到回調函數被調用(因爲回調函數內的'alert'正在被觸發),所以我認爲控制權被轉移到控制器並回到回調方法,但我我無法弄清楚爲什麼從控制器返回的文本沒有顯示在回調方法的警報框中。不知道我在這裏丟失了什麼來捕獲回調方法中的返回值。
您對此響應和幫助是非常感謝。
謝謝。
HTML文本框和提交按鈕:
<div class = "searchcontactform">
<form id = "searchcontactform" name="searchcontactform" method="GET">
<input type = 'text' size='25' name = "searchlastname" id = "searchlastname" value='Enter Last Name to Search'/>
<input type = "submit" value="Find">
</form>
</div>
的JavaScript觸發上提交上述形式:
<script type="text/javascript" src="${pageContext.request.contextPath}/resources/scripts/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function() {
$('#searchcontactform').submit(function(){
$.get("ContactList-JPA/search", {textsent : 'Hello Controller'},callback);
function callback(textreceived){
alert('In Callback. Text Received is: '+textreceived);
};
});
});
控制器:
@RequestMapping(value = "/search", method = RequestMethod.GET)
public @ResponseBody String searchcontact(@RequestParam(value="textsent") String textsent){
return textsent;
}
傑克遜依賴於POM。 XML:
<dependency>
<groupId>org.codehaus.jackson</groupId>
<artifactId>jackson-mapper-asl</artifactId>
<version>1.7.1</version>
</dependency>
註釋中的servlet-context.xml中和根context.xml的驅動:
<!-- Enables the Spring MVC @Controller programming model -->
<annotation-driven />
''返回false'可能會阻止默認提交行爲 – melanke
這工作!添加'返回false';提交事件處理程序結束時的語句解決了我的問題!非常感謝您的回覆。這是非常讚賞。 –