0

我有表单,我想抓取用户插入的数据,然后将它们转换为 json 格式。所以首先是我的表格——</p>

<form id="patient_form" action="#" class="form-horizontal">
            <div class="control-group">
                <label class="control-label" for="firstName"> First Name<em>*</em></label>
                <div class="controls">
                    <input type="text" id="firstName" class="required" maxlength="100"
                        placeholder="First Name" />
                </div>
            </div>
            <div class="control-group">
                <label class="control-label" for="middleNameInitial">
                    Middle Name Initial</label>
                <div class="controls">
                    <input type="text" id="middleNameInitial"
                        placeholder="Middle Name Initial" class="input-small"
                        maxlength="1" />
                </div>
            </div>
            <div class="control-group">
                <label class="control-label" for="lastName"> Last Name <em>*</em></label>
                <div class="controls">
                    <input type="text" id="lastName" placeholder="Last Name"
                        class="required" maxlength="100" />
                </div>
            </div>

            <div class="control-group">
                <label class="control-label" for="dateOfBirth"> Date Of
                    Birth</label>
                <div class="controls">
                    <input type="text" id="dateOfBirth" class="required" />
                </div>
            </div>

            <div class="control-group">
                <div class="controls">
                    <button type="button" class="btn btn-primary"
                        onclick="savePatientInfo()">Save Changes</button>
                    <button type="button" class="btn"
                        onclick="cancelPatientInfoForm()">Cancel</button>
                </div>
            </div>
        </form>

然后我想将它们发送回服务器。对于服务器端代码,我使用的是 spring mvc,而客户端我使用的是 JQuery。

现在我该怎么做?我基本上需要两件事,

  1. Ajax 调用(JavaScript 函数基本上会做 3 件事,一是获取表单数据并将它们转换为 json,然后再进行 ajax 调用)
  2. 使用 ajax 调用的服务器端方法(控制器方法,因为我正在起诉 spring mvc。)

任何帮助深表感谢。

4

1 回答 1

1

首先,您需要从 JSP 执行 ajax 调用,如下所示:

$.post("${pageContext.servletContext.contextPath}/ajaxTestData",
            {
            firstName:$("#firstName").val(),
            middleNameInitial:$("#middleNameInitial").val(),
                    <other form data>
            },
            function(j)
            {
                    <j is the string you will return from the controller function.>
            });

现在在控制器中,您需要映射 ajax 请求,如下所示:

 @RequestMapping(value="/ajaxTestData", method=RequestMethod.POST)
    @ResponseBody
    public String calculateTestData(@RequestParam("firstName") String firstName, @RequestParam("middleNameInitial") String middleNameInitial, HttpServletRequest request, HttpServletResponse response){
            <perform the task here and return the String result.>

            return "xyz";
}

我没有以这种方式使用 JSON 输入和结果,但我认为如果您返回 Pojo,那么它可能会自动转换为 json 格式。只是检查一下。

希望这对您有所帮助。干杯。

于 2012-10-11T05:40:08.220 回答