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

第二个(堆栈): 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>'
                    );
                   });
    });
});
4

0 回答 0