JSP
<div id="feedback" class="statusbar"></div>
在jQuery中
$("#categorySave").click(function(){
$getCode = document.getElementById("catCode").value;
$getName = document.getElementById("catName").value;
$getDesc = document.getElementById("catDesc").value;
$getDepID = $("select option:selected").val();
$(':text').val('');
$('#feedback').html('<img src="images/loading.gif"/>Processing....');
$.post("CategoryOperation", {
catCode:$getCode,
catName:$getName,
catDesc:$getDesc,
catID:$getDepID
}, function(html) {
$("#feedback").html(html);
});
});
在Servlet中(CategoryOperation)
out.println("<div>Record Inserted!</div>");
当我按下保存按钮(id = categorySave)时,它会在插入记录时显示div(id = feedback)中的消息。上面的代码工作正常。但我现在想要一点改变 成功插入记录后,它会在文本字段而不是div(id = feedback)上显示结果。
假设,CategoryOperation(Servlet)打印了以下两个过程,
out.println("Record Inserted!");
out.println("1");
现在我想分别在文本字段中显示上述两个输出,并且它们具有 以下ID
id="Result"
id="Key"
如何在上面的jquery代码片段中,通过编写以下代码或任何其他简单方法来执行此操作
$('#Result').val();
$('#Key').val();
答案 0 :(得分:1)
您需要让servlet返回一个可解析的对象格式而不是纯文本,例如JSON或XML。 jQuery内置了对这两者的支持。
这是一个JSON示例:
String json = String.format("{\"result\": \"%s\", \"key\": \"%s\"}", "Record Inserted!", "1");
response.setContentType("application/json");
response.setCharacterEncoding("UTF-8");
response.getWriter().write(json);
(Google Gson可以使JSON格式化更容易)
需要按如下方式处理:
function(data) {
$("#Result").val(data.result);
$("#Key").val(data.key);
}