我正在使用 Jruby 1.6.6 版。jQuery 版本 1.7。并通过 Ruby 应用程序在线获取了一些数据: http ://churbackend.impac.ch/news
现在我想从这些数据中读取 Json。
我的要求是:
var test = $.ajax({
type: "GET",
dataType: "jsonp",
url: "http://churbackend.impac.ch/news.json",
success: function(data) {
alert('Success!');
},
error: function(xhr, error, stack) {
alert(error);
alert(stack);
}
});
我收到 2 个警报:第一个(错误):parseerror
第二个(堆栈): jQuery17036032104332288495_1329118955821 未被调用
我的 news_controller 看起来像这样:
def index
@news = News.all
respond_to do |format|
format.html
format.json { render :json => @news }
end
end
我尝试了各种不同的东西,比如“文本 json”以及我在不同论坛中找到的几乎所有解决方案。但没有什么能帮助我解决我的问题。如果您知道如何处理这个问题,请帮助我,或者如果您需要更多信息,请询问(我是论坛帖子的初学者)
祝
Luca
编辑:
我得到了解析错误的解决方案:
new news_controller:
def index
@news = News.all
respond_to do |format|
format.html
format.json { render :json => @news }
format.js { render :json => @news, :callback => params[:callback] }
end
end
它适用于这个 ajax 请求:
var test = $.ajax({
type: "GET",
dataType: "jsonp",
url: "http://localhost:3000/news.js",
success: function(data) {
alert('Success!');
},
error: function(xhr, error, stack) {
alert(error);
alert(stack);
}
});
但是我有最后一个问题:我怎样才能通过 getJSON 请求来完成这项工作?目前它失败了,只是给出了一个空字符串。
$(document).ready(function(){
$.getJSON('http://localhost:3000/news.js', function(data) {
alert(data);
$.each(data, function(i, entries)
{
$('#maincontainer').append('<div class="AccordionTitle">'
+'<h2>'
+ entries.title
+ '</h2>'
+'</div>'
);
});
});
});