如何在单击按钮时显示特定API的新随机生成的引用?

时间:2017-07-11 02:55:32

标签: javascript jquery html

问题 - 我有一个API,一旦页面加载就会显示随机引用。我的按钮(div)名为" newQuote"没有生成新的报价,相反,它显示完全相同的报价,使我的按钮无用。

My code can be found on GitHub here 所以- 我有一个javascript函数,名为getNewQuote(),在我的页面加载时运行。此函数从API(https://quotesondesign.com/wp-json/posts?filter[orderby]=rand&filter[posts_per_page]=1)中获取引用和作者,并使用类quoteTitle和quoteDisplay将其附加到我的div。

function getNewQuote() {
  $.ajax({
    url: 'https://quotesondesign.com/wp-json/posts?filter[orderby]=rand&filter[posts_per_page]=1',
    jsonp: 'jsonp',
    cache: 'false',
    success: function(data) {
      var post = data.shift();
      $("#quoteTitle").empty();
      $("#quoteDisplay").empty();
      $("#quoteTitle").append(post.title);
      $("#quoteDisplay").append(post.content);
    }
  });
}

getNewQuote();

然后,我设置另一个名为newQuote的div,当点击它时,会显示一个新引号。

$('#newQuote').on('click', function(e) {
  e.preventDefault();
  getNewQuote();

现在,对我而言,问题似乎是缓存。我认为这是一个缓存问题的原因是因为如果我使用应用程序Firefox Focus访问我的手机上的网站,(非常肯定)不存储任何缓存,该网站将按需运行,并将每当我点击我的#newQuote时改变我的报价。您可以在托管的rqg.ronlaniado.me'中自行试用。

由于我的问题是缓存,我确实使用了一些方法和计划来避免这种情况。

    cache: 'false',

我在.ajax请求中将cache-ing设置为false。

  <script src="qg_js.js?v=42"></script>

我认为&#34;?v-42,根据谷歌的说法,它不应该保存缓存。

如果有人能查看我的代码并协助我解决我的问题,那就太棒了。另外,这是我第一次在这里发帖,很抱歉,如果我对所有事情都有点乱。

1 个答案:

答案 0 :(得分:-1)

错误在于:

cache: 'false';

正确用法是:

cache: false;

这些引号导致缓存被保留,这意味着引号没有改变。