Сохраните форму в файле XML, используя Ajax и JSP - PullRequest
0 голосов
/ 19 апреля 2010

Я хочу создать простую форму с именем и адресом электронной почты и сохранить эти данные в файле XML. До сих пор я обнаружил, что использовать Ajax с jQuery довольно просто. Поэтому я использовал обычный код:

//dataString have the values taken from the form
var dataString = 'name='+ name + '&email=' + email;
$.ajax({
 type: "POST",
 url: "users.xml",
 data: dataString,
 dataType: "xml",
 success: function() { .... }
});

Если я правильно понял, в URL я должен добавить имя файла XML, который будет создан.

Когда пользователь нажимает кнопку, я вызываю функцию с помощью запроса Ajax, а затем мне нужно где-нибудь вызвать функцию для генерации XML.

Я использую также две бобы. Один предназначен для настройки элементов пользователя, а другой - для сохранения данных в XML. Я использую библиотеку XStream для xml, хотя я не знаю, является ли это лучшим решением.

Проблема теперь в том, что я не могу соединить все это вместе, чтобы сохранить данные в XML.

Кто-нибудь знает, что мне делать?

Большое спасибо!

1 Ответ

1 голос
/ 19 апреля 2010

Извините, но ваше понимание неверно. url должен указывать на URL CGI / API на стороне сервера, который обрабатывает запрос HTTP POST. dataType указывает тип данных ответа HTTP, который был возвращен со стороны сервера после обработки запроса HTTP. Это может быть либо строка HTML, либо строка JSON, либо строка XML. Чтобы упростить немедленную обработку ответа, вы можете установить там тип данных, чтобы jQuery знал, как «предварительно отформатировать» ответ. Часто используется JSON, поскольку он самый компактный и самый быстрый для обработки в Javascript.

В случае приложения JSP / Servlet вы должны позволить url указывать на сервлет, в котором реализован метод doPost() следующим образом:

protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    // First process HTTP request.
    String name = request.getParameter("name");
    String email = request.getParameter("email");
    // Do your business stuff here. You want to store this in a xml file? 

    // Then return HTTP response.
    response.setContentType("text/xml");
    response.setCharacterEncoding("UTF-8");
    response.getWriter().write("<status>ok</status>"); // Or whatever XML string you would like to return depending on the outcome of the business stuff.
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...