2016-09-27 3 views
0

У меня есть веб-приложение и сервер graylog. Я хочу отправить сообщение ajax на сервер Graylog. Единственным примером, который они предоставляют, является:JQuery ajax call to 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.