我想使用Domino作为后端,html / jquery作为我的Web应用程序的前端。所以我有:
$.ajax({
type: 'POST',
url: 'mydb.nsf/xpage.xsp',
contentType: 'application/json; charset=utf-8',
data: {
f1: "hello",
f2: "hello again"
},
success: function (response) {
console.log("SUCCESS");
},
error: function (error) {
console.log(error);
}
});
在Domino中:
public static String doGet(HttpServletRequest req, HttpServletResponse res) throws JsonException, IOException, NotesException {
return doPost(req, res);
}
public static String doPost(HttpServletRequest req, HttpServletResponse res) throws JsonException, IOException, NotesException {
System.out.println("1) "+req.getAttribute("f1"));
System.out.println("2) "+req.getParameter("f1"));
System.out.println("3) "+req.getContentLength());
return "AllOK";
}
在firebug和domino日志中,我看到POST正常,得到响应。但我无法弄清楚如何在多米诺骨牌中获得params f1和f2。 在多米诺骨牌日志中: 1)为null, 2)为空, 3)是23岁。
以后的想法是POST JSON,但是现在让这段代码工作会很棒。
如何通过java在domino中获取POST参数?
(我看到stackoverflow回答了很多类似的问题,但找不到我问题的具体内容)
谢谢!
答案 0 :(得分:3)
使用reg.getReader()
或req.getInputStream()
以元素f1和f2读取请求正文。
以下是如何读取JSON数据的示例: https://stackoverflow.com/a/3831791/2065611
req.getParameter()
仅在内容类型为" application / x-www-form-urlencoded"而非json时才有效。