2011-09-25 62 views
0

我不断收到这个406(不可接受)错误,当我输入自动填充字段。406(不可接受)错误的轨道和jQuery的移动自动完成

我使用jQuery Mobile和jQuery UI的自动完成和轨道

,这里是我的jQuery

$("#request_artist").focus(function(){ 
    $("#request_artist").autocomplete({ 
     source: function(req, add){ 
      $.getJSON(artistRequestUrl, req, function(data) { 
       var suggestions = data.suggestions; 
       add(suggestions);  
      }); 
     }, 
     change: function() { 
      $("#request_song").attr("disabled", false); 
      $("#request_submit").attr("disabled", false); 
      $("#request_like_reason").attr("disabled", false); 
      $('.disable_color').css("color", "black"); 
     },  
    }); 
});  

这里是我的html

<div data-role="fieldcontain"> 
    <label for="search">Artist</label> 
    <input type="search" name="password" id="request_artist" value="" /> 
</div> 

这里是我的Rails应用

def ajax_artist 
    bands = Band.all 
    artists = bands.map(&:name).uniq.sort 
    filter_input(artists, params[:term]) 
    Rails.logger.info @all_instances_hash.inspect 
    respond_to do |format| 
    format.json { render :json => @all_instances_hash} 
    end 
end 

如果我看在控制台记录器我得到这个为@all_instances_hash如果我输入字母C

{:query=>"c", :suggestions=>["Casting Crowns", "John Mark McMillan"]} 

但自动完成不工作...任何想法

回答

2

我猜的Rails认为你要求回HTML。再次

def ajax_artist 
    bands = Band.all 
    artists = bands.map(&:name).uniq.sort 
    filter_input(artists, params[:term]) 
    Rails.logger.info @all_instances_hash.inspect 
    render :json => @all_instances_hash 
end 
+0

这救了我......感谢:您ajax_artist永远只能响应(理智)与JSON所以尽量完全无视格式 – Trace