我正在尝试在我的 Spring MVC 应用程序中借助 ajax 使用自动完成功能。我已经提到了这个。但其中存在一些问题。请指导我..
我的剧本就像..
<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>
调用将转到控制器并返回 Map>.. 我将描述我所做的..
在控制器类
@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)。但它也没有显示那个警报框..