Google visualization Google图表-“缺少对请求id:0的查询”

Google visualization Google图表-“缺少对请求id:0的查询”,google-visualization,Google Visualization,仅当我尝试将两个图表放在同一页上时,才会出现此错误。如果这两个图表是页面上唯一的一个,那么它们都可以完美地工作。添加第二个请求的那一刻,只有第一个请求加载,并且我得到了缺少的请求id查询:0错误。 以下是我的图表js文件: function drawChart(title, queryPage, divToFill) { var dataTab = null; var query = new google.visualization.Query(queryPage); var strSQL =

仅当我尝试将两个图表放在同一页上时,才会出现此错误。如果这两个图表是页面上唯一的一个,那么它们都可以完美地工作。添加第二个请求的那一刻,只有第一个请求加载,并且我得到了缺少的请求id查询:0错误。 以下是我的图表js文件:

function drawChart(title, queryPage, divToFill) {
var dataTab = null;
var query = new google.visualization.Query(queryPage);
var strSQL = "SELECT *";

query.setQuery(strSQL);

query.send(processInitalCall);

function processInitalCall(res) {
    if(res.isError()) {
        alert(res.getDetailedMessage());
    } else {
        dataTab = res.getDataTable();

        // Draw chart with my DataTab
        drawChart(dataTab);
    }
}

function drawChart(dataTable) {
    // Draw the chart
    var options = {};
    options['title'] = title;
    options['backgroundColor'] = "#8D662F";
    var colors = Array();
    var x = 0;
    if(currentCampaignId >= 0) {
        while(x < dataTab.getNumberOfColumns() - 2) {
            colors[x] = '#c3c1b1';
            x++;
        }
        colors[x] = '#d2bc01';
    }
    else {
        colors[0] = '#c3c1b1';
    }
    options['colors'] = colors;
    options['hAxis'] = {title: "Week", titleColor: "white", textColor: "white"};
    options['vAxis'] = {title: "Flow", titleColor: "white", textColor: "white", baselineColor: "#937d5f", gridColor: "#937d5f"};
    options['titleColor'] = "white";
    options['legend'] = "none";
    options['lineWidth'] = 1;
    options['pointSize'] = 3;
    options['width'] = 600;
    options['height'] = 300;
    var line = new google.visualization.LineChart(document.getElementById(divToFill));
    line.draw(dataTab, options);
}
}  
下面是index.php文件中的一个片段:

<body>
<script type="text/javascript">
google.load('visualization', '1', {'packages': ['table', 'corechart']});
google.setOnLoadCallback(function(){
drawChart("Water", "waterData.php", "water");
drawChart("Air", "airData.php", "air");
});  

</script>
<div id="water" style="text-align: center;"></div>
<div id="air" style="text-align: center;"></div>
</body>  
它在query.sendprocessInitalCall处抛出错误;线路,只在第二次呼叫时。除了sig字段外,waterData.php和airData.php都是相同的。我注意到有一个名为reqId的字段,它被设置为0


我需要在这些类中以某种方式更改此reqId吗?

可能太晚了,但对于任何感兴趣的人来说

从数据源加载数据时,请求-tqx-中会有一个GET参数,其值类似于:reqId:0。您必须在响应中返回相同的reqId

发件人:

REQUID-[请求中需要;数据源必须处理]数字 此请求的标识符。这样,如果客户端发送 在收到响应之前,数据源可以执行多个请求 用适当的请求识别响应。将此值发送回 回应


我在StackOverflow中没有足够的状态来写评论,但是这个帖子也为我节省了大量的时间。多谢各位


我意识到这很古老,但我想写一篇文章,说这对我有很大的帮助,并使我意识到在使用gviz python库的过程中存在一个无法解决的问题。非常感谢。非常欢迎您在这里提问和回答问题,您很快就会获得足够的代表性,可以发表评论,尽管“谢谢”不是一个好的评论-您应该投票选出好的答案谢谢,但我也没有足够的年龄在StackOverflow投票!除了说声谢谢之外,我还留下了一个链接,指向我的问题,这个问题已经解决了。现在,祝你玩得开心: