javascript - 如何使用$.ajax从API接收JSON

标签 javascript jquery json ajax api

我正在尝试制作一个随机报价机,因此我开始使用此 HTML 来定义元素:

<div id="quoteDisplay">
  <h1 id="quote">Quote</h1>
  <h2 id="author">- Author</h2>
  <button id="new">New Quote</button>
</div>
$('#new').on('click', function(e) {
  e.preventDefault();
  $.ajax({
    url: 'http://quotesondesign.com/wp-json/posts?filter[orderby]=rand&filter[posts_per_page]=1',
    success: function(data) {
      var post = data.shift();
      $('#author').html(post.title);
      $('#quote').html(post.content);
    }
  })
});

但是由于某种原因,当我单击按钮时,没有任何反应,我不明白问题出在哪里。我完全愿意接受其他方法来做到这一点。

最佳答案

请求在 jsFiddles 上未返回的原因是输入的 url 导致“混合内容”错误。 (即,在“HTTPS”页面上请求“HTTP”源。)

我认为您的代码无法正常工作的原因是您尚未将“文档就绪”语法分配给您的 jQuery 文件(如果这是您的 JS 文件的完整代码)。正如您的代码的工作原理所示 here .

这可以通过

的简写语法来实现
$(function() {
//YOUR CODE HERE
}

或者

$(document).ready(function(){
});

关于javascript - 如何使用$.ajax从API接收JSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44923027/

相关文章:

javascript - 在数字两边添加括号

javascript - 使用 Javascript 缩放网页的所有内容

javascript - 如何使用浏览器窗口的大小?

json - 如何在 spark sql 中解析嵌套的 JSON 对象?

ios - 通过 JSON API Objective-C 发送 POST 请求

java - 序列化器 - Kryo 的速度、API/功能(如 FlexJson)

javascript - 为什么我的 geojson 不能像我想的那样工作?

javascript - 单击下一个弹出窗口时,第一个弹出窗口不会关闭

JQuery Contextmenu - 处理右键单击另一个对象

jquery - Twitter BootStrap 模态窗口后备链接