マップjsonを解析してajaxオートコンプリート呼び出しに戻す正しい方法ですか? 私は、jQueryがjsonレスポンスを理解していることを期待していたので、スクリプトでオートコンプリート項目を表示するための追加作業は必要ありません。Ruby - jqueryオートコンプリートparse json
JSON -
[{"issue":"Item returned"}]
JS -
$("#term").autocomplete({
source: function(request, response){
$.ajax({
url: '/issue/issue_type',
type: 'POST',
dataType: 'json',
data: { issue_code : $("#term").val() },
headers: { 'X-CSRF-Token': '<%= form_authenticity_token.to_s %>' },
success: function(data) { response($.map(data.issue, function(issue){
return {
value: data.issue
}
})); }
});
},
minLength: 2,
select: function(event, ui){
//
}
});
});
はsuccess: function(data) { response(data); }
を試してみました。どちらもうまくいきませんでした。
コントローラ -
def issue_type
@c = Codes.select("issue").where("codes.issue LIKE :i",{:i => "#{params[:posted_code]}%"})
puts @c.to_json
respond_to do |format|
format.json { render :json=> @c.to_json }
format.js
end
return @c.to_json
end
ここに引用符がありません: 'url:'/issue/issue_type、 ' 'url: '/ issue/issue_type'、' – Mischa
@Mischa - Ohhはコードを投稿する際の誤植でした。私はajax jsonレスポンスを取得しますが、オートコンプリートリストには載っていません。 –
あなたのオートコンプリートHTMLの外観はどうですか?あなたのselect:function ...は、オートコンプリートリストにレスポンスが追加される場所です。空白の場合は、結果は表示されません。 – Mike