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
そして 2 番目 (スタック): jQuery17036032104332288495_1329118955821 は呼び出されませんでした
私の news_controller は次のようになります。
def index
@news = News.all
respond_to do |format|
format.html
format.json { render :json => @news }
end
end
「テキスト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>'
);
});
});
});