2012-09-13 50 views
1

我在生产(heroku,rails)上获取我的JQuery-ui自动完成工作时遇到了困难,但它在本地工作。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> 

我不知道,但是这可能是这个问题:

“/课程以.json”

正常工作,并列出了所有我的对象的JSON格式

然而,

“/courses.json?term=m”

返回一个对象的正确阵列本地,但远程方法会返回一个空数组

回答

0

如果您在查询一个远程服务器上,确保您使用JSONP而不是JSON的在你的jQuery AJAX请求中。

http://en.wikipedia.org/wiki/JSONPhttp://api.jquery.com/jQuery.getJSON/

+0

我只是说我的javascript代码...我不认为我有任何Ajax请求(以及我不知道太多关于他们的)。我必须使用不同的方法调用来获取JSON信息吗? – user1669864

+0

嗯,我怀疑你的jQuery UI自动完成依赖于AJAX调用... – jtheman

+0

对不起,以前没有提供它,我可以更改我的自动完成使用AJAX调用来使其工作?怎么样? – user1669864