2016-09-27 149 views
0

我有一個Web應用程序和一個Graylog服務器。我想發送一個ajax消息到所述的Graylog服務器。他們提供的唯一示例是:JQuery ajax調用Graylog2不起作用

curl -XPOST http://graylog.example.org:12202/gelf -p0 -d '{"short_message":"Hello there", "host":"example.org", "facility":"test", "_foo":"bar"}' 

工作得很好。但是,當我這樣做:

message = '{"host":"hostname","short_message":"short message","full_message":"longer message","facility":"dev"}'; 
        console.log(message); 
        $.ajax({ 
          url: 'http://X.X.X.X:12201/gelf', 
          method: 'POST', 
          data: JSON.stringify(message), 
          success: function(result, textStatus, jqXHR){ 
            console.log("SF Log posted with result: " + result); 
            if ($.isFunction(settings.callback)) { 
              settings.callback.call(this); 
            } 
          }, 
          error: function(jqXHR, textStatus, errorThrown){ 
            console.log("SF Log encountered error: " + errorThrown); 
          }, 
          complete: function(){ 
            console.log('on complete: ' , this.data); 
          } 
        }); 

該消息收到Graylog,但它拒絕處理它。它只是在期刊中。

這是我正在寫的一個插件的當前配置,所以我們可以登錄不同的區域。我已將crossDomain設置爲true,並嘗試使用$ .post,但由於某種原因,我的環境不允許我。任何想法我可以嘗試什麼?

回答

0

當然,10分鐘後我發現問題。擺脫JSON.stringify。