JavaScript:如何从同一URL“刷新”数据?

时间:2017-08-07 15:59:24

标签: javascript xmlhttprequest

拥有此API: http://quotesondesign.com/wp-json/posts?filter[orderby]=rand&filter[posts_per_page]=1

如何使用在按钮点击事件后下载不同数据的纯JS请求进行编写?

我从这段代码得到的所有内容都是相同的引用:

function getQuote (cb) {
 var xmlhttp = new XMLHttpRequest();
 var quoteURL = "http://quotesondesign.com/wp-json/posts?filter[orderby]=rand"
 xmlhttp.onreadystatechange = function() {
    if (xmlhttp.status == 200 && this.readyState==4) {
        cb(this.responseText);
    } 
};
    xmlhttp.open("GET", quoteURL, true);
    xmlhttp.send();
}

document.querySelector('button').addEventListener("click", function() {
    getQuote(function(quote) {
        console.log(quote);
    });
})

我尝试了xmlhttp.abort()和东西,但它不想合作。 提前谢谢!

2 个答案:

答案 0 :(得分:0)

这是一个缓存问题。添加时间戳作为查询参数,您应该可以破坏缓存。

答案 1 :(得分:0)

您的回复正在被浏览器缓存。避免这种情况的常见技巧是执行

请求
http://quotesondesign.com/wp-json/posts?filter[orderby]=rand&filter[posts_per_page]=1&r={random_number}

注意r = {random_number}每次都会使URL不同。