我无法在生产(heroku,rails)上获取我的JQuery-ui自动完成工作,但它在本地工作。
这是我的javascript(是的,我知道它很乱,这是我第一次使用jquery-ui)
<script>
$(function() {
var projects = '/courses.json'
$( "#search" ).autocomplete({
minLength: 2,
source: projects,
focus: function( event, ui ) {
$( "#search" ).val( ui.item.course.abbrev );
return false;
},
select: function( event, ui ) {
window.location.replace("/courses/"+ui.item.id);
return false;
}
})
.data( "autocomplete" )._renderItem = function( ul, item ) {
return $( "<li></li>" )
.data( "item.autocomplete", item )
.append( "<a>" + item.abbrev + "</a>" )
.appendTo( ul );
};
});
</script>
我不确定,但这可能是问题所在:
“/ courses.json”
正常工作并以JSON格式列出我的所有对象
然而,
“/ courses.json?术语= M”
在本地返回正确的对象数组,但远程只返回一个空数组
答案 0 :(得分:0)
如果要查询远程服务器,请确保在jQuery AJAX请求中使用JSONP而不是JSON。
http://en.wikipedia.org/wiki/JSONP和http://api.jquery.com/jQuery.getJSON/