Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/467.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 dojoJS Solr连接器-传递(返回)数据_Javascript_Rest_Solr_Dojo - Fatal编程技术网

Javascript dojoJS Solr连接器-传递(返回)数据

Javascript dojoJS Solr连接器-传递(返回)数据,javascript,rest,solr,dojo,Javascript,Rest,Solr,Dojo,我不熟悉使用JS和dojo框架从rest服务(如Solr和ElasticSearch)访问json数据。 在本例中,我使用了dojo来编写solr.js,它包含一个简单的函数,该函数使用JSONP参数和dojo.io.script来连接到solr索引。现在我需要让函数传递(返回)从Solr获取的数据。以下是我希望调用函数的方式: <script src="solr.js"></script> <script> var mySolrData = solrStor

我不熟悉使用JS和dojo框架从rest服务(如Solr和ElasticSearch)访问json数据。 在本例中,我使用了
dojo
来编写
solr.js
,它包含一个简单的函数,该函数使用
JSONP
参数和
dojo.io.script
来连接到solr索引。现在我需要让函数传递(返回)从Solr获取的数据。以下是我希望调用函数的方式:

<script src="solr.js"></script>
<script>
var mySolrData = solrStore(
"http://solrUrl/", 
"indexName/select"
);
</script>
当我在浏览器中执行代码时,我会在控制台日志中看到在加载:部件时需要的数据。然而,对于如何将数据从函数中提取到调用该函数的页面,我的大脑有一个屁,因为无论我如何尝试,它都会说它是
未定义的


将从solrStore函数检索到的数据放入
mySolrData
var中需要做什么?

变量mySolrStore是在异步函数“load:”中定义的。 如果我没有说错,您就不能从异步函数返回(捕获值),因为上下文不同

//set the value of the raw response data
var mySolrStore = data;
我建议您在“load:”之外定义变量。例如,您可以在之前和之后定义它

var mySolrStore;
//arguments for jsonp to connect to solr index//
var jsonpArgs = .....
并在load:call中设置数据值

   load: function(data){
        //set the value of the raw response data
        mySolrStore = data;

希望它能解决这个问题。

我猜您收到的响应是文本/纯文本格式的,您希望通过提到handleAs:“json”得到json响应。尝试使用json.parse(json)将纯文本转换为json@ShadAmez,当我调用它时,我在日志中将数据视为对象,在日志中我调用
console.log(mySolrStore.response.docs)所以我知道它在那里工作。我只需要正确地返回响应,以便在调用函数的代码中使用它。
   load: function(data){
        //set the value of the raw response data
        mySolrStore = data;