【发布时间】:2015-09-21 21:47:19
【问题描述】:
我在 jquery.autocomplete.min.js 中有以下错误
TypeError: d is undefined
我的 home.jsp 文件
<head>
<script src="<c:url value="/resources/core/jquery.1.10.2.min.js" />"></script>
<script src="<c:url value="/resources/core/jquery.autocomplete.min.js" />"></script>
<link href="<c:url value="/resources/css/bootstrap.css" />" rel="stylesheet">
</head>
<body>
<div class="container">
<div class="vendor_input">
<input type="text" id="vendorname" path="vendorname" />
<input type="button" value="GO" />
</div>
</div>
</body>
</html>
<script type ="text/javascript">
jQuery(document).ready(function()
{
jQuery('#vendorname').autocomplete({
serviceUrl: '${pageContext.request.contextPath}/getDetails',
paramName: "vendorName",
delimiter: ",",
transformResult: function(response)
{
//alert(response);
return
{
suggestions: jQuery.map(jQuery.parseJSON(response), function(item)
{
return {value: item.vendorname, data: item.vendorid};
})
};
}
});
});
</script>
homeController.java中的getDetails()函数
@RequestMapping(value = "/getDetails",method = RequestMethod.GET,headers = "Accept=application/json; charset=UTF-8")
public @ResponseBody ArrayList<vendor> getTags(@RequestParam String vendorName)
{
System.out.println("enter into controller");
ArrayList<vendor> data = new ArrayList<vendor>();
data.add(new vendor(1, "ruby"));
data.add(new vendor(2, "rails"));
data.add(new vendor(3, "c / c++"));
data.add(new vendor(4, ".net"));
data.add(new vendor(5, "python"));
data.add(new vendor(6, "java"));
data.add(new vendor(7, "javascript"));
data.add(new vendor(8, "jscript"));
ArrayList<vendor> result = new ArrayList<vendor>();
for (vendor tag : data) {
if (tag.vendorname.contains(vendorName)) {
result.add(tag);
}
}
return result;
}
Ajax 运行良好。在显示建议时,我的控制台中有 TypeError: d is undefined error。是否有任何 jquery 版本问题。请帮助我。在此先感谢。
【问题讨论】:
-
使用未缩小版的库,看看是否能得到更好的错误信息。
-
我做了,但它是相同的 TypeError: d is undefined in jquery.autocomplete.min.js
-
听起来仍然是最低版本....建议映射正确吗?
-
是的,它已正确映射。响应文本是正确的。
标签: javascript jquery ajax spring-mvc autocomplete