从Solr解析Json饲料

时间:2013-05-19 07:50:10

标签: jquery json rest solr getjson

我遇到了一个从Solr解析Feed的奇怪行为。我没有得到任何使用url1的响应。但是,如果我使用url2,我会得到,在这两种情况下,我得到了将url直接放入浏览器的响应。拜托,我做错了什么?

<script type='text/javascript'>
  var searchterms = $('#input_box').val();
  var searchfield = $('#dropdown').val();

  var url1 ="http://localhost:8983/solr/moogle/select?q="+searchfield+"%3A%28"+searchterms+"%29&wt=json&indent=true";
  var url2 = 'http://localhost:8983/solr/moogle/select/?wt=json&json.wrf=?&q='+searchfield+':('+searchterms+')'

  $.getJSON(url1, function(result){
     alert("hello"+result.response.docs[0].title);
 });
</script>

2 个答案:

答案 0 :(得分:1)

我找到了解决方案。这是一个浏览器跨域脚本问题,与在网页上的不同端口上运行Solr相关联。 我通过在网址中加入json.wrf=?参数修复了此问题:

"http://localhost:8983/solr/moogle/select?q="+searchfield+"%3A%28"+searchterms
+"%29&wt=json&indent=true&json.wrf=?"

答案 1 :(得分:0)

达米安,

Solr没有“没有回应”。 它会响应数据,错误代码或完整的异常描述。

不要检查“result.response.docs [0] .title”,而是尝试“result.responseHeader.status”或响应标题中的其他值,指出错误。

从浏览器运行查询当然与从代码运行它有点不同。

同时检查非常有用的Solr日志。如果使用Apache,您可以在Apache服务器日志目录中找到它,每个查询和响应都有一条记录。