javascript - 单击按钮时如何显示从特定 API 新随机生成的报价?

标签 javascript jquery html

问题 - 我有一个 API,在页面加载后会显示随机引用。我的名为“newQuote”的按钮(div)不会生成新的报价,而是显示完全相同的报价,使我的按钮毫无用处。

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

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,单击该 div 时会显示新的报价。

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

现在,对我来说,问题似乎出在缓存上。我认为这是缓存问题的原因是,如果我使用 Firefox Focus 应用程序在手机上访问该网站,该应用程序(非常肯定)不会存储任何缓存,该网站将按需要运行,并将更改我的每当我点击我的#newQuote 时都会引用。您可以在托管的“rqg.ronlaniado.me”上亲自尝试一下。

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

    cache: 'false',

我在 .ajax 请求中将缓存设置为 false。

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

我输入了“?v-42,根据 Google 的说法,它不应该保存缓存。

如果有人可以查看我的代码并帮助我解决问题,那就太好了。另外,这是我第一次在这里发帖,如果我的一切都有点困惑,很抱歉。

最佳答案

错误在这里:

cache: 'false';

正确的用法是:

cache: false;

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

关于javascript - 单击按钮时如何显示从特定 API 新随机生成的报价?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45024609/

相关文章:

javascript - 如何使用express JS以特定方式从URL读取参数

javascript - 检查元素是否有 jquery 附加的动画名称?

javascript - Onsenui - 列表修饰符在 .append() jquery 中不起作用

javascript - 图像轮播 slider 不工作 bxSlider

javascript - 如何从动态创建的复选框javascript中创建复选框事件

javascript - 从 JavaScript 输出 HTML 的推荐方法

javascript - 如何将 HTTPS 表单提交到 HTTPS 服务器

Javascript 隐藏在 php 中

javascript - 删除动态列的值的总和计算错误

html - XDocument 是否适合生成 HTML?