过滤JSON以获得特定结果

时间:2017-07-09 11:44:24

标签: javascript jquery json

我正在使用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');
});

1 个答案:

答案 0 :(得分:0)

试试这段代码。服务器似乎正在使用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);
    });
}