通过网站连接到Nagios Api

时间:2016-07-18 07:18:53

标签: jquery json ajax api nagios

我正在尝试通过网站连接到我的Nagios服务器,以显示Nagios服务器上的主机状态。

我已经运行了curl命令,我得到了一个json响应,它可以工作。但是现在当我尝试连接web应用程序时,jQuery给了我一个GET 401未经授权的错误。

jquery-3.1.0.js:9392 GET http://41.87.218.55/nagios/cgi-bin/objectjson.cgi?query=hostlist&parenthost=none&childhost=none 401 (Unauthorized)
send  @ jquery-3.1.0.js:9392
ajax @ jquery-3.1.0.js:8999
getData @ myJavaAng.js:187
(anonymous function) @ myJavaAng.js:203

我的代码:

function getData() {
  var name, code;
  var serviceURL = "http://test:welcome@41.87.218.55/nagios/cgi-bin/objectjson.cgi?query=hostlist&parenthost=none&childhost=none";
  $.support.cors = true;
  $.ajax({
    type: "GET",
    dataType: "json",
    crossDomain: true,
    url: serviceURL,
    success: function(data) {
      alert(data);
    },
    error: function(XMLHttpRequest, textStatus, errorThrown) {
      console.log(errorThrown);
    }
  });
}

请让我知道我做错了什么。

1 个答案:

答案 0 :(得分:0)

这适用于遇到同样问题的人。

nagios服务器不接受我用来连接API的Javascript或jQuery。这是因为同源政策。

这是一个执行相同操作的简单PHP脚本。

UPDATE dbo.FinalExtract
SET WEWE = CASE 
              WHEN Wait_time <= '24' 
                 THEN CONVERT(varchar, dateadd(hour, -24, Wait_time)) 
                 ELSE CONVERT(varchar, dateadd(hour, +24, Wait_time)) 
           END

希望这有助于任何遇到同样问题的人。