我使用 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 个图表,并且控制台会显示预期的指标名称。但有时我会得到一些相同的混合。例如...我将显示页面加载指标两次,唯一用户指标一次,控制台将显示页面加载数据返回两次,唯一用户数据返回一次。
有什么想法为什么会发生这种情况吗?
最佳答案
AJAX 请求可能已被缓存。这段代码应该可以解决这个问题。
$(document).ready(function() {
$.ajaxSetup({ cache: false });
});
关于javascript - 带有 JSONP 的 jQuery.getJSON 对于不同的调用返回相同的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9134658/