检查solr核心是上升还是下降

时间:2015-10-08 15:21:50

标签: angularjs solr cors

我想检查我的solr核心是上升还是下降。我使用AngularJS。

我创建了一个工厂和一个控制器。工厂 pingFactory 包含指向solr核心地址的$http.get方法。控制器 pingController 使用工厂。

我在旧的AngularJS公约中看到了对该问题的一些解释,有时很难从字面上翻译它(在新的约定中)。

我尝试在制作更复杂的功能之前收到一条消息,看它是否有效;我使用了 logger 字,但我不知道这是否是最好的方法(尤其是当我将 logger 放在我的控制器中时)。

function pingFactory ($http, logger) {
        var service = {testPing: testPing};

        return service;

        function testPing () {
            return $http.get('http://10.1.10.10:8279/solr/#/offers');
        }
    }

function pingController (pingFactory) {
        var vm = this;

        pingFactory.testPing().then(function () {
            logger.info('a');
        })
    }

PLUNKER I

编辑我:我在文件中删除了所有 logger 字样,然后FireBug告诉我。

GET http://10.1.10.10:8279/solr/#/offers 200 OK X 30ms  

在OK和毫秒时间之间有一个很大的红叉。我有一个CORS警告。

编辑II :我使用了错误的网址,我必须取消并添加/ admin / ping(如cheffe所说)。 我还有红十字和CORS警告。 你知道我是否可以将http代码响应放在一个变量中,该变量将显示在我的网页中?

PLUNKER II

我尝试了几种方法来显示此 plunker 中的http状态,但没有成功...... 我认为http请求没有结果,因为我在控制器中写vm.data = pingFactory.testPing时无法获取数据,并且

return $http.get('http://10.1.10.10:8279/solr/#/offers')
    .then(function (response) {
    var status = response.status;
});

让我感到沮丧的是,在错误消息中,FireBug给了我HTTP状态,我无法接收它。

我看到了这些模块https://github.com/ringtail/angular-pinghttps://github.com/AntonAI/Angular.js-Ping-Service,但我认为我无法正确使用它们。

您是否了解如何在触发或不触发CORS警告的情况下获取HTTP状态?

我决定通过编写这段代码来测试servlet

public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        PrintWriter out = response.getWriter();


        String ur_str = "http://10.10.10.10:8000/solr/offers/admin/ping?wt=json";
        URL url = new URL(ur_str);
        URLConnection yc = url.openConnection();

        if ( yc instanceof HttpURLConnection)
        {
               HttpURLConnection httpConnection = (HttpURLConnection) yc;
               int code = httpConnection.getResponseCode();
               out.println("<h1>" + code + "</h1>");

        }
        else
        {
           System.err.println ("error - not a http request!");
        }

    }

而且,哦!它的工作。为什么?是因为AngularJS还没有为这种类型的请求做好准备吗?

0 个答案:

没有答案