0

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 を送信することは可能ですか? 他に何を試すべきかわからない。

ありがとう

4

0 に答える 0