我正在使用jQuery.getJSON()使用不同的参数连续三次点击同一个Web服务。然后我用我收到的数据绘制图表。虽然这个问题非常基础,但它与图表根本没有关系。当我在回调函数中获取数据时,它并不总是“正确”的数据。例如:
var URL1 = http://mysite.com/myAPI/metrics?type=pageloads&date=02022012&callback=?
var URL2 = http://mysite.com/myAPI/metrics?type=formsubmissions&date=02232012&callback=?
var URL3 = http://mysite.com/myAPI/metrics?type=uniqueusers&date=02022012&callback=?
var getDataAndDraw = function(metricURL, chartDiv) {
$.getJSON(metricURL, function(data){
console.log(data.metricName);
// i do my charting here
});
};
getDataAndDraw(URL1, 'pageloadsDiv');
getDataAndDraw(URL2, 'formsubmissionsDiv');
getDataAndDraw(URL3, 'uniqueuserDiv');
有时我会得到正确的3个图表,控制台会显示预期的指标名称。但有时我会得到一些相同的组合。例如......我将显示两次页面加载指标和一次唯一用户指标,控制台将显示页面加载的数据被返回两次并且唯一用户一次。
为什么会发生这种情况的任何想法?
答案 0 :(得分:3)
AJAX请求可能正在缓存。这段代码应该解决这个问题。
$(document).ready(function() {
$.ajaxSetup({ cache: false });
});