Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/joomla/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Javascript数组中存储JSON Solr查询数据-(未定义)_Javascript_Arrays_Json_Solr_Storing Data - Fatal编程技术网

在Javascript数组中存储JSON Solr查询数据-(未定义)

在Javascript数组中存储JSON Solr查询数据-(未定义),javascript,arrays,json,solr,storing-data,Javascript,Arrays,Json,Solr,Storing Data,HTML页面上的javascript Im试图使用表中的Solr查询数据 所以我想做的是得到一堆对solr查询的不同响应,并在它们进入时将它们存储在一个数组中。然后将这些结果返回到图表中的相应位置,以显示我的信息 我遇到的问题是将JSON的结果存储在一个变量中,以供以后使用。但是它不会保存,因为选中时结果显示为未定义。但是,如果我将响应分配给某个HTML位置,比如从_data(data)上的函数中使用$(“#yoyo”),它似乎工作得很好 所以我可以实时获取结果,但由于某种原因我无法存储它们?

HTML页面上的javascript Im试图使用表中的Solr查询数据

所以我想做的是得到一堆对solr查询的不同响应,并在它们进入时将它们存储在一个数组中。然后将这些结果返回到图表中的相应位置,以显示我的信息

我遇到的问题是将JSON的结果存储在一个变量中,以供以后使用。但是它不会保存,因为选中时结果显示为未定义。但是,如果我将响应分配给某个HTML位置,比如从_data(data)上的
函数中使用
$(“#yoyo”)
,它似乎工作得很好

所以我可以实时获取结果,但由于某种原因我无法存储它们? 从阅读大量其他帖子来看,这似乎与它的异步性有关。我觉得函数的时间不多了。就像它试图在赋值之前返回答案一样

有人能告诉我哪里出了问题吗

           if (typeof variable !== 'undefined') {
                var global_tick = -1
            }

            var results = []

            var testB = 'query response failed';
            $('#testB').prepend('<div>' + testB + '</div>');

            function on_data(data) {

                results[global_tick] = parseInt(data.response.numFound);

                $('#yoyo').prepend('<div>' + results[global_tick] + '</div>');

                global_tick = global_tick + 1;
            }

            function partyQuery(party, region){
                pQuery(party, region)
                var res = pResult()
                return res
            }

            function pQuery(party, region){

                var url='http://localhost:8983/solr/articles/select?q=text:'+party+'+AND+region:'+region+'&wt=json&callback=?&json.wrf=on_data';
                $.getJSON(url);
            }

            function pResult(){
                return results[global_tick]
            }

            //Parties
            var pqFG = partyQuery("\"Fine Gael\"", 'ROI');
            var pqFF = partyQuery("\"Fianna Fail\"", 'ROI');

            // Load the Visualization API and the corechart package.
            google.charts.load('current', {'packages':['corechart']});

            // Set a callback to run when the Google Visualization API is loaded.
            google.charts.setOnLoadCallback(drawChart);

            // Callback that creates and populates a data table,
            // instantiates the pie chart, passes in the data and
            // draws it.
            function drawChart() {
            // Party data table.
            var data_party = new google.visualization.DataTable();
            data_party.addColumn('string', 'Party');
            data_party.addColumn('number', 'Mentions');
            data_party.addRows([
              ['Fine Gael', pqFG],
              ['Fianna Fáil', pqFF],
            ]);
if(变量类型!=“未定义”){
var global_tick=-1
}
var结果=[]
var testB='查询响应失败';
$('#testB')。前置(''+testB+'');
_数据上的函数(数据){
结果[global_tick]=parseInt(data.response.numFound);
$('#yoyo')。前置(''+结果[global#u tick]+'');
全局勾号=全局勾号+1;
}
职能部门查询(部门、地区){
质询(政党、地区)
var res=pResult()
返回res
}
职能询问(政党、地区){
var url='1〕http://localhost:8983/solr/articles/select?q=text:“+party+”+和+region:“+region+”&wt=json&callback=?&json.wrf=on_data”;
$.getJSON(url);
}
函数pResult(){
返回结果[全局勾选]
}
//聚会
var pqFG=partyQuery(“\'Fine Gael\”,'ROI');
var pqFF=partyQuery(“Fianna失败”,“ROI”);
//加载可视化API和corechart包。
load('current',{'packages':['corechart']});
//将回调设置为在加载Google Visualization API时运行。
google.charts.setOnLoadCallback(drawChart);
//创建并填充数据表的回调,
//实例化饼图,传入数据并
//画它。
函数绘图图(){
//政党数据表。
var data_party=new google.visualization.DataTable();
数据_party.addColumn('string','party');
数据_party.addColumn('编号','提及');
数据\u party.addRows([
['Fine Gael',pqFG],
['Fianna Fáil',pqFF],
]);
$.getJSON(url);
…您基本上忽略了这里的响应-哦,我明白了,您使用的是JSONP而不是AJAX调用了“on#u data(data)”函数,其中的代码可以像“#yoyo”一样影响输出。我可以在HTML中显示我想要的所有结果。但它不会为我存储任何变量。