【问题标题】:jquery callbacks and json datajquery 回调和 json 数据
【发布时间】:2014-11-03 22:26:43
【问题描述】:

我正在尝试研究如何获取返回的 json 数据并将其添加到我当前的视图中。

我有这个

控制器

def rehomed
 respond_to do |format|
  format.js {render json: @animals }
  end
end

查看

$.ajax({
type: 'POST',
url: '/public/rehomed',
  data: data_send,
   success: function(data) {
    $('.all_animals').append(data);
   }
});

查看

 <div class="col-md-4 mix Dog Pontypool all" style="display: inline-block;">
  <a alt="Yorkshire Terrier" href="/animals/91-archibald"></a>
    <div class="title">
      <h5>Archibald</h5>
      <h5><span data-hover="Yorkshire Terrier">Yorkshire Terrier</span></h5>
    </div>
  </div>

  <div class="col-md-4 mix Dog Pontypool all" style="display: inline-block;">
   <a alt="Yorkshire Terrier" href="/animals/91-archibald" title="Yorkshire Terrier"></a>
    <div class="title">
      <h5>Archibald</h5>
      <h5><span data-hover="Yorkshire Terrier">Yorkshire Terrier</span></h5>
    </div>
 </div>

[
 {"id":104,"animal_type":"Dog","name":"Harry","description":"Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nulla facilisis at vero eros et accumsan et iusto odio dignissim qui blandit praesent luptatum.","age":"Under 1 Year","size":"Large","gender":"Male","spay_neuter":"No","chipped":"No","child_friendly":"No","reference":"AB123456789","dog_breed_id":2,"user_id":12,"created_at":"2014-10-28T22:07:15.311Z","updated_at":"2014-10-28T22:07:15.311Z","cat_breed_id":null,"rehomed":false},
 {"id":107,"animal_type":"Cat","name":"Sydney","description":"Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nulla facilisis at vero eros et accumsan et iusto odio dignissim qui blandit praesent luptatum.","age":"Under 1 Year","size":null,"gender":"Female","spay_neuter":"No","chipped":"Yes","child_friendly":null,"reference":"123456","dog_breed_id":null,"user_id":12,"created_at":"2014-10-28T22:08:06.609Z","updated_at":"2014-10-28T22:08:06.609Z","cat_breed_id":1,"rehomed":false},   
 {"id":114,"animal_type":"Cat","name":"Tommy","description":"Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nulla facilisis at vero eros et accumsan et iusto odio dignissim qui blandit praesent luptatum.","age":"4 Years","size":null,"gender":"Female","spay_neuter":"No","chipped":"Yes","child_friendly":null,"reference":"123856473SS","dog_breed_id":null,"user_id":12,"created_at":"2014-10-28T22:09:20.640Z","updated_at":"2014-10-28T22:09:20.640Z","cat_breed_id":2,"rehomed":false},
 {"id":116,"animal_type":"Cat","name":"Alice","description":"Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nulla facilisis at vero eros et accumsan et iusto odio dignissim qui blandit praesent luptatum.","age":"Under 1 Year","size":null,"gender":"Female","spay_neuter":"No","chipped":"No","child_friendly":null,"reference":"ghf4584624","dog_breed_id":null,"user_id":12,"created_at":"2014-10-28T22:09:43.956Z","updated_at":"2014-10-28T22:09:43.956Z","cat_breed_id":2,"rehomed":false},
 {"id":124,"animal_type":"Cat","name":"Tommy","description":"Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nulla facilisis at vero eros et accumsan et iusto odio dignissim qui blandit praesent luptatum.","age":"5 Years","size":null,"gender":"Female","spay_neuter":"Yes","chipped":"No","child_friendly":null,"reference":"ghf4584624","dog_breed_id":null,"user_id":12,"created_at":"2014-10-28T22:11:19.696Z","updated_at":"2014-10-28T22:11:19.696Z","cat_breed_id":2,"rehomed":false},
 {"id":87,"animal_type":"Dog","name":"Chloe","description":"Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nulla facilisis at vero eros et accumsan et iusto odio dignissim qui blandit praesent luptatum.","age":"5 Years","size":"Small","gender":"Female","spay_neuter":"Yes","chipped":"No","child_friendly":"Yes","reference":"ghf4584624","dog_breed_id":2,"user_id":13,"created_at":"2014-10-28T22:03:57.396Z","updated_at":"2014-10-28T22:03:57.396Z","cat_breed_id":null,"rehomed":false}
 ]

我如何获取该 json 数据并将其格式化以像其他记录一样显示在我的视图中?

谢谢

【问题讨论】:

  • .map 数组中的每个结果都是一个 HTML 元素。
  • 如果你有许多不同的调用,你可以使用许多模板脚本,如把手、小胡子等

标签: javascript jquery ruby-on-rails json


【解决方案1】:

您将不得不解析 json...

用途:

var response_array=jQuery.parseJSON(data);
for (response in response_array) {
    id = response.id;
    // whatever
}

【讨论】:

  • 如果您只是设置dataType:'json',则无需使用parseJSON ...jQuery将返回数组
  • 你的意思是用它作为$.json的参数?我不知道,谢谢。
  • 实际上也不需要这样做,对不起,我忘了把我的控制器动作
  • @RubyRacer 不,它是$.ajax 的一个选项,也可以作为$.get$.post( url, data, callback,'json') 的参数传递
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-01-11
  • 1970-01-01
  • 1970-01-01
  • 2016-10-30
  • 1970-01-01
  • 1970-01-01
  • 2012-07-29
相关资源
最近更新 更多