Jquery 如何知道solr服务器是否正在运行

Jquery 如何知道solr服务器是否正在运行,jquery,ajax,magento,solr,Jquery,Ajax,Magento,Solr,我有一个我无法解决的问题。部分原因是我无法用正确的术语解释它。我不熟悉这个问题,很抱歉问了这个笨拙的问题 下面你可以看到我的目标概述 我使用的是MagentoCE1.7.0.2和Solr4.6.0 var url1 ="http://127.0.0.1:8080/solr/select?q=iphon&wt=json&json.wrf=?"; $.getJSON(url1,function(result){ // my logic }); 当Solr服务器运行时,表示此

我有一个我无法解决的问题。部分原因是我无法用正确的术语解释它。我不熟悉这个问题,很抱歉问了这个笨拙的问题

下面你可以看到我的目标概述

我使用的是MagentoCE1.7.0.2和Solr4.6.0

var url1 ="http://127.0.0.1:8080/solr/select?q=iphon&wt=json&json.wrf=?";
$.getJSON(url1,function(result){
   // my logic 
});
当Solr服务器运行时,表示此脚本工作正常。但如果我的Solr服务器未运行,则表示它无法工作

但我的目标是这样写这个剧本

if( Solr Server is Running){
   var url1 ="http://127.0.0.1:8080/solr/select?q=iphon&wt=json&json.wrf=?";
   $.getJSON(url1,function(result){
      // my logic-1
   });
}else{
   // my logic-2
}
那么,我如何知道Solr服务器是否正在运行呢

&我知道这是重复的问题,但我从来没有找到解决方案,所以请忽略它


有什么想法吗?

我不知道SOLR是如何工作的,但正确的jQuery应该是:

$.ajax({
    type: "GET",
    url: "http://127.0.0.1:8080/solr/select?q=iphon&wt=json&json.wrf=?",
    dataType: "json",
    success: function (result) {
        // is working
    },
    error: function (result) {
        // probably not
    }
});

在尝试连接之前,请使用
setTimeout
。如果您成功使用
clearTimeout
。如果不在setTimeout时间内,可以执行定义的setTimeout操作。

您可以使用内置的Solr Ping处理程序:

http://hostname:port/solr/admin/ping
这将为您提供所需的信息

Si



我希望它能为某些人使用full。

你能成功地将SOLR与Mage CE集成吗?@slimshaddyyy我正计划从JQuery脚本中获得建议。你能详细说明一下吗..我尝试过这一个。当SOLR服务器运行时,它工作正常,但当我关闭SOLR服务器时,它没有进入内部错误:服务器是什么它工作时有什么反应?当服务器不工作时,ajax调用是否会导致任何错误(例如在firebug控制台中)?您需要接收JSON数据还是只检查服务器是否响应?当服务器运行时,意味着它进入内部成功功能,但服务器未运行意味着它不进入错误功能。如果是这样,那么我们甚至不需要使用
JSON
。请在不使用数据类型“json”的情况下尝试我的代码,。
<?php 
       $solr = new Apache_Solr_Service( 'HOST', 'PORT NUM', '/solr' );
       if ( $solr->ping() ) {
          // APACHE SOLR SERVER IS RUNNING 
       }else{
          // APACHE SOLR SERVER IS NOT RUNNING
       }
?>