2017-08-07 24 views
1

有了這個API: http://quotesondesign.com/wp-json/posts?filter[orderby]=rand&filter[posts_per_page]=1JavaScript:如何「刷新」來自同一個URL的數據?

我怎麼能寫使用我的下載按鈕單擊事件後不同的數據純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()之類的東西,但它沒有希望合作。 在此先感謝!

+0

你可以使用jQuery嗎? –

+0

我不想要。我的意思是,沒關係,它會起作用。但我的目標是正確學習純粹的JS。我上次做了「app」工作,但不知道它爲什麼工作。 – nef4r1us

+0

啊好吧...在jQuery中有緩存控制。 –

回答

0

您的響應正在被瀏覽器緩存。避免這種情況的常用技巧是執行

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

請注意,r = {random_number}將如何使URL每次都不相同。

+0

是的。有效。謝謝! – nef4r1us

0

這是一個緩存問題。添加一個時間戳作爲查詢參數,你應該能夠破壞緩存。

+0

我比較新的「編碼器」我該怎麼做才能使它工作? – nef4r1us

相關問題