如何过滤JSON以获得特定结果?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (1)
  • 关注 (0)
  • 查看 (10)

我正在使用Quotes on Design API https://quotesondesign.com/api-v4-0/来显示我网站上设计师的随机引用。

但是,这个想法是显示引号,但只能由特定的设计师随机显示

我的代码不起作用。知道为什么以及如何应对它以获得理想的结果。

    $.ajaxSetup(
{  cache: false}
);

function newQuote(){
  $.getJSON('https://quotesondesign.com/wp-json/posts?filter[orderby]=rand&filter[posts_per_page]=1&callback=', function(json,data){
 // Filter to return quotes by Steve Jobs only
    return json.filter(function(data){
      return (data[0].title == "Steve Jobs")
    });
    // add the quote(data[0].content) to my page.
    $('.quote_text').html(data[0].content);
  });

}
// get a new quote everytime i click the button (.message_btn)
$(document).ready(function(){
  newQuote();
  $('.message_btn').on('click',newQuote).fadeIn('slow');
});
提问于
用户回答回答于

试试这个代码。服务器似乎正在使用Wordpress遗留API。我已经将请求URL更改为对数组中的一个标题的随机请求。

function newQuote() {
    var titles = ["Steve Jobs", "Jonathan Ive", "Frank Zappa", "Kent Beck"];
    var index = Math.floor(Math.random() * titles.length);
    var url = "https://quotesondesign.com/wp-json/posts?filter[orderby]=rand&filter[name]=" + titles[index];

    $.getJSON(url, function(data) {

        console.log("data length: " + data.length);
        console.log("returned  title: " + data[0].title);

        if (data.length)
            $('.quote_text').html(data[0].content + " - " + data[0].title);
    });
}

扫码关注云+社区

领取腾讯云代金券