log4javascript の ajaxAppender を使用して、アプリ内のサーバーにメッセージのバッチを送信しようとしています。
これは、ロギングを初期化する方法です。
var log = log4javascript.getDefaultLogger();
log.info('Logging initialized');
var ajaxAppender = new log4javascript.AjaxAppender("http://localhost:8080/mobile2/logger/logme.json");
ajaxAppender.addHeader("Content-Type","application/json;charset=utf-8");
ajaxAppender.setBatchSize(10);
var jsonLayout = new log4javascript.JsonLayout(false,true);
ajaxAppender.setLayout(jsonLayout);
log.info(jsonLayout.getContentType());
log.addAppender(ajaxAppender);
サーバーでスプリングを使用し、その @RequestBody タグを使用してjsonオブジェクトを読み取ります。
これは私の他のサーバー要求では機能しますが、ajaxAppender を使用すると、常にこのエラーで失敗します。SEVERE: サーブレット スプリングの Servlet.service() が例外 java.lang.IllegalArgumentException をスローしました: 無効なトークン文字 ',' がトークン "x-www-form-urlencoded, application/json" に含まれています
唯一の違いは、リクエスト ヘッダーを調べると、ロギング用のヘッダーのコンテンツ タイプが次のようになっていることです: Content-Type: application/x-www-form-urlencoded, application/json;charset=UTF-8
私の他のjsonリクエストには、2番目の文字列 'application/json;charset=UTF-8' しかありません
最初のコンテンツ タイプなしで ajax を送信することは可能ですか? 他に何を試すべきかわからない。
ありがとう