繁体   English   中英

无法将 Json 数据从 Ajax 发送到 Servlet

[英]Unable to send Json data from Ajax to Servlet

我正在尝试使用 Z3EB7106C3477A60E6BBF5 将 JavaScript function 中的 JSON 数据发送到 aServletDBF5DA

客户端:

function addObject() {
    var data = {
        aa: "aa",
        bb: "bb"
    }
    var string = JSON.stringify(data);
    var xhttp = new XMLHttpRequest();
    xhttp.open("POST", "GalleryAdd", true);
    xhttp.setRequestHeader("Content-Type", "application/json");
    xhttp.onreadystatechange = function () {
        if (this.readyState == 4 && this.status == 200) {
            console.log("Done");
        }
    };
    console.log(string);
    xhttp.send(string);
}

来自 stringyfied 数据的 Output 是{"aa":"aa","bb":"bb"}

小服务程序:

protected void doPost(HttpServletRequest request, HttpServletResponse response) {
    log(request.getParameter("aa"));
    log(request.getParameter("bb"));
}

记录器中的 Output 是nullnull

看起来 JavaScript 不会将数据发送到 servlet,即使它的字符串化正确。 任何人?

您的 Json object 位于请求正文中,因此您需要解析InputStream 尝试这个。

protected void doPost(HttpServletRequest req, HttpServletResponse resp) {
    JsonObject object = Json.createReader(req.getInputStream()).readObject();

    log(object.getString("aa"));
    log(object.getString("bb"));
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM