按钮JQuery事件只工作一次,为什么?

时间:2017-03-02 21:12:42

标签: javascript jquery ajax rest api

%%G

情况:我点击,数据已加载。我再次点击,没有任何变化。

Codepen: http://codepen.io/anon/pen/vxGgaZ

参考: https://quotesondesign.com/api-v4-0/

2 个答案:

答案 0 :(得分:2)

问题是因为第一个响应正在被缓存。你可以通过添加一个停止缓存的$.ajaxSetup()调用来解决这个问题:

$.ajaxSetup({
  cache: false
})

Updated Codepen

或者,使用$.ajax()并直接在设置中设置cache

$("button").on("click", function() {
  $.ajax({  
      url: 'http://quotesondesign.com/wp-json/posts',
      type: 'get',
      cache: false,
      data: 'filter[orderby]=rand&filter[posts_per_page]=1', 
      success: function(json) {
        $(".author").html(json[0].title);
        $(".quote").html('"' + json[0].content + '"');
      }
  });
});

答案 1 :(得分:-1)

尝试这样:

也许它会帮助你



<script>
        $(document.body).on("click", 'button', function() {
            $.getJSON("http://quotesondesign.com/wp-json/posts?filter[orderby]=rand&filter[posts_per_page]=1", function(json) {
                $(".author").html(json[0].title);
                $(".quote").html('"'+json[0].content+'"');
            });
        });

    </script>
&#13;
&#13;
&#13;