2013-03-24 86 views
1

我有问题让这个JQuery AJAX显示在网页上。JQuery自动完成在页面上没有显示

$(document).ready(function(e) { 
    $(".autocomp").autocomplete(
     { 
      source: function(request, response) { 
         $.ajax({ 
           url: "/apples", 
           dataType: "json", 
           data: { 
           srch:request.term 
           }, 
           success: function(data) { 
            response($.map(data.result, function(item) { 
             return { 
              label: item.name,  
              value: item.name, 
              data: item 
             }; 
            })); 
           } 
          }); 
        }, 
        minLength: 2, 
        select: function(event, ui){ 
            var parts = this.name.match(/(\D+)(\d+)$/); 
            $("key_"+parts[2]).val(ui.item.data.key); 
           } 
        }); 
}); 

该函数调用返回信息的网站:{result: [{name:macintosh,key:1},{name:golden,key:2},{name:fuji,key:3}]}。 数据字段发送回的对象是:

Object {result= [Object{name:macintosh,key:1},Object{name:golden,key:2},Object{name:fuji,key:3}]} 

的HTML:

<input type="text" name="name_1" id="name_1" class="autocomp"><input type="hidden" name="key_1" id="key_1"> 

任何人有一个想法,为什么它不工作?我进口

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script> 
<script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.10.1/jquery-ui.min.js"></script> 

和样式表:

<link href="http://code.jquery.com/ui/1.10.0/themes/base/jquery-ui.css" rel="stylesheet" type="text/css" /> 

任何帮助将不胜感激!

+0

你丢失了'HTTP:'你在哪里链接的jQuery – 2013-03-24 23:06:21

+0

它应该是'' – 2013-03-24 23:06:53

+0

您能否显示打到”/ apples“端点时返回的内容? – 2013-03-24 23:10:20

回答

0

该解决方案来自WebTuts网站。它现在可以工作,但它不会使用AJAX调用 - 我仍然很想知道该怎么做。这是一个解决方案,并得到相同的结果,但没有明确回答如何使用AJAX的问题。用这个部分替换$ .ajax部分。

$.getJSON("/apples?srch="+request.term,request, 
         function(data){ 
          var names = []; 
          $.each(data.result, function(i, val){ 
           names.push({ 
            label: val.name, 
            value: val.name, 
            data: val 
           }); 
          }); 
          response(names); 
         }); 

谢谢大家! 乔恩

+0

我听说这段代码可能会让人们遭受SQL注入攻击。代码中会发生什么? – Jon 2013-03-26 00:35:16