javascript - 带有 JSONP 的 jQuery.getJSON 对于不同的调用返回相同的数据

标签 javascript jquery ajax

我使用 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/

相关文章:

javascript - 如何有效地测试延迟总是

javascript - AJAX POST 不起作用

javascript - 将工具提示添加到禁用的 Dropdown.Toggle

javascript - 从 ng-repeat 发布项目

javascript - 将鼠标悬停在表行上时如何放大表行? - 变化

javascript - onSubmit 未在加载 AJAX 的表单上触发

ajax - 具有运球分页数据的 ionic 无限滚动?

javascript - 这个类可以改成React无状态函数吗?

javascript - 在OL3中保存多个点的坐标

javascript - 单击某个元素后如何关闭汉堡菜单?