2016-03-18 2 views
1

Я хочу использовать Domino в качестве backend, а html/jquery - как интерфейс для моего веб-приложения. Поэтому у меня есть:Как получить параметры из POST в XPages (java)

$.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"; 
} 

В поджигатель и домино журнала я вижу, что POST идет корыто ОК, получает ответ. Но я не могу понять, как получить параметры f1 и f2 в домино. В журнале домино: 1) имеет нулевое значение, 2) равна нулю, 3) 23.

Идея для позже это POST JSON, но сейчас это было бы здорово иметь этот код работает.

Как получить параметры POST в домино через java?

(я вижу StackOverflow имеет много подобных вопросов, ответы, но не смог найти ничего конкретного к моей проблеме)

Спасибо!

ответ

3

Используйте reg.getReader() или req.getInputStream(), чтобы прочитать тело запроса с элементами f1 и f2.

Вот пример того, как вы можете прочитать данные в формате JSON: https://stackoverflow.com/a/3831791/2065611

req.getParameter() работает только если тип содержимого "применение/х-WWW-форм-urlencoded", а не в формате JSON.

Смежные вопросы