我想在我的Spring MVC应用程序中使用ajax的帮助下自动完成。我提到了this。但其中有一些问题。请指导我..jQuery-Ajax自动完成的Spring MVC没有响应
我的剧本就像是..
<script>
$(function() {
$("#bName").autocomplete({
source: function(request, response) {
$.ajax({
url: "getBatchNames.jav",
dataType: "json",
data: {
term: request.term
},
success: function(data) {
response($.map(data.batchNameList, function(item) {
return {
label: item.pinMasterBatchName,
value: item.pinMasterBatchName
};
}));
}
});
},
minLength: 1,
open: function() {
$(this).removeClass("ui-corner-all").addClass("ui-corner-top");
},
close: function() {
$(this).removeClass("ui-corner-top").addClass("ui-corner-all");
}
});
});
</script>
....
<tr>
<td width="95%">
<div class="ui-widget">
<label style="width:35%;">Batch Name</label>
<form:input path="pinMasterBatchName" id="bName" class="txtBox"/>
</div>
</td>
</tr>
的通话将控制器及其返回地图> ..我会介绍我做了什么..
在控制器类
@RequestMapping(value="/getBatchNames.jav", method = RequestMethod.GET)
@ResponseBody
public Map<String, List<PinMasterData>> getZipcodes()
{
System.out.println("helloooo");
List<PinMasterData> batchNameList = pinService.ListBatchesUnderClient(45);
Map<String, List<PinMasterData>> pinMap = new HashMap<String, List<PinMasterData>>();
pinMap.put("batchNameList", batchNameList);
return pinMap;
}
而且在我的模型类是类就像
public class PinMasterData
{
@Id
@GeneratedValue
@Column (name = "Id")
private Integer Id;
@Column (name = "BatchName")
private String pinMasterBatchName;
@Column (name = "Prefix")
private String Prefix;
实际上,该呼叫将发送给控制器并将其返回。但之后,jsp页面不显示文本字段下方的列表。问题是什么?请指导我.. 预先感谢
编辑..
success: function(data) {
response($.map(data.batchNameList, function(item) {
return {
label: item.pinMasterBatchName,
value: item.pinMasterBatchName
};
}));
alert("hai");
}
});
我曾试图这样(检查是否回调到AJAX)。但它没有显示该警报框太..
我已经在成功内部发出警告。但它也没有显示。我认为它的反应(即与json),即时调用控制器的东西。我对这个Ajax真的很陌生。所以请指导我 –