Я использую Jruby версии 1.6.6. JQuery Verison 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
Я пробовал разные вещи, такие как «text json» и почти все решения, которые я нашел на различных форумах. Но ничто не могло помочь мне решить мою проблему.
Если вы знаете, как с этим справиться, пожалуйста, помогите мне, или если вам нужна дополнительная информация, просто спросите (я новичок в обсуждениях)
С наилучшими пожеланиями
Лука
Редактировать:
Я получил решение для parseerror:
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>'
);
});
});
});