Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/387.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Log4Javascript AjaxAppender请求头_Javascript_Logging_Log4javascript - Fatal编程技术网

Log4Javascript AjaxAppender请求头

Log4Javascript AjaxAppender请求头,javascript,logging,log4javascript,Javascript,Logging,Log4javascript,我正在尝试使用log4javascript的ajaxAppender向我的应用程序中的服务器发送一批消息 以下是我初始化日志的方式: var log = log4javascript.getDefaultLogger(); log.info('Logging initialized'); var ajaxAppender = new log4javascript.AjaxAppender("http://localhost:8080/mobile2/logger/logm

我正在尝试使用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);
我在服务器上使用spring及其@RequestBody标记来读取json对象

这适用于我的其他服务器请求,但当使用ajaxAppender时,它总是会失败并出现此错误; 严重:Servlet spring的Servlet.service()引发异常 java.lang.IllegalArgumentException:无效的令牌字符“”,在令牌“x-www-form-urlencoded,application/json”中

我能看到的唯一区别是,当我检查请求头时,日志记录头的内容类型如下: 内容类型: application/x-www-form-urlencoded,application/json;字符集=UTF-8

而我的其他json请求只有第二个字符串'application/json;字符集=UTF-8'

是否可以在不使用第一种内容类型的情况下发送ajax?不知道还有什么可以尝试的


感谢

Ok感谢更新Log4JavaScript添加了两个
内容类型
标题:
application/x-www-form-urlencoded
application/json;字符集=UTF-8
。在我最初测试的浏览器中,只发送了最新的头,但Chrome至少发送了两个值,用逗号分隔。我已经添加了一个解决方案,不久将发布一个新版本。是的,我用Chrome做所有的浏览器测试。感谢您调查此事。我昨天试图发布一个新版本,但被Soureforge的上传程序破坏所拒绝。我今天晚些时候再试。嗨,蒂姆,谢谢你的新版本。看起来这解决了内容类型问题。不过我注意到了另一个问题。请求有效负载(在chrome中)仍被编码。我也在safari中进行了测试,并且对post源代码进行了编码。这导致我的jackson mapper失败。JsonLayout中是否有任何东西可以对请求进行编码?我对服务器的其他请求显示了正确的JSON格式。请让我知道。