我想创建一个带有名称和电子邮件的简单表单,并将这些数据保存在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() { .... }
});
如果我理解的话,在网址中我应该添加将要创建的XML文件的名称。
当用户单击一个按钮时,我使用Ajax请求调用该函数,然后我应该在某处调用一个函数来生成xml。
我也在使用两个豆子。一个用于设置用户的元素,另一个用于将数据保存在XML中。我正在使用xStream库作为xml,虽然我不知道是否是最好的解决方案。
现在的问题是我无法将所有这些连接在一起以便将数据保存在XML中。
有谁知道我该怎么做?
非常感谢!
答案 0 :(得分:1)
很抱歉,但您的理解不正确。 url
应指向处理HTTP POST请求的服务器端CGI / API的URL。 dataType
表示在处理HTTP请求后从服务器端返回的HTTP响应的数据类型。这可以是HTML字符串,JSON字符串或XML字符串。为了便于立即处理响应,您可以在其中设置数据类型,以便jQuery知道如何“预格式化”响应。通常使用JSON,因为它是最简洁,最快速的Javascript处理。
对于JSP / Servlet应用程序,您需要让url
指向一个实现doPost()
方法的Servlet,如下所示:
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.
}