我遇到了一个从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>
答案 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服务器日志目录中找到它,每个查询和响应都有一条记录。