1

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>'
                    );
                   });
    });
});
4

0 に答える 0