【问题标题】:Save a form in an XML file using Ajax and JSP使用 Ajax 和 JSP 将表单保存在 XML 文件中
【发布时间】:2010-04-19 11:42:35
【问题描述】:

我想创建一个带有姓名和电子邮件的简单表单,并将这些数据保存在 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 中。我正在为 xml 使用 XStream 库,虽然我不知道是否是最好的解决方案。

现在的问题是我无法将所有这些连接在一起以将数据保存在 XML 中。

有人知道我该怎么办吗?

非常感谢!

【问题讨论】:

    标签: jquery xml ajax jsp


    【解决方案1】:

    抱歉,您的理解不正确。 url 应该指向处理 HTTP POST 请求的服务器端 CGI/API 的 URL。 dataType表示服务器端处理完HTTP请求后返回的HTTP响应的数据类型。这可以是 HTML 字符串、JSON 字符串或 XML 字符串。为了简化响应的即时处理,您可以在此处设置数据类型,以便 jQuery 知道如何“预格式化”响应。通常使用 JSON,因为它是 Javascript 中最紧凑且处理速度最快的。

    如果是 JSP/Servlet 应用程序,您需要让 url 指向一个 Servlet,该 Servlet 具有如下实现的 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.
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多