【问题标题】:TypeError in AutoComplete ajax in spring mvcSpring mvc中AutoComplete ajax中的TypeError
【发布时间】: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


【解决方案1】:

不确定,但您将所有脚本放在结束 &lt;/html&gt; 之外:

 </html>
 <script type ="text/javascript">

你可以把它放在关闭&lt;/body&gt;里面。

【讨论】:

  • 这应该是评论,而不是答案。
猜你喜欢
  • 2013-09-27
  • 2011-08-19
  • 2011-12-04
  • 1970-01-01
  • 1970-01-01
  • 2012-06-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多