【发布时间】:2015-05-18 12:01:00
【问题描述】:
我需要将 ajax 请求发送到 java 后端并以两个 html 块作为答案(来自 java 后端)进行响应。我想使用两个不同的 JSP 生成这两个 html 块。我这样做如下:
req.setAttribute(...);
...
resp.setContentType("text/html");
RequestDispatcher dispatcher = req.getRequestDispatcher("one.jsp");
dispatcher.include(req, resp);
dispatcher = req.getRequestDispatcher("two.jsp");
dispatcher.include(req, resp);
而且它有效。但是在前端,我收到了一个像一个可靠的 html 代码(渲染 one.jsp + 渲染 two.jsp)的答案。但我需要将它作为两个单独的 html 块接收,以将每个块放入它自己的 . 这样做的正确方法是什么?
Ajax 代码:
function addNew() {
var request = $.ajax({
url: "myUrl",
type: "post",
dataType: "html",
success: function(data) {
$("#divNameOne").html(<one part of data>);
$("#divNameTwo").html(<second part of data>);
},
error:function() {
alert("fail");
}
});
}
【问题讨论】:
-
可以分享一下js代码块吗?看来您需要在 js 中分隔 html 块。如果你对单个 ajax 请求没问题。
-
我已经用 ajax 代码更新了问题。所以唯一的办法就是用Java Script解析代码?
-
你是在加载一个 html 片段并将其插入到现有的 div 中吗?两个 html 块的目的是什么?你能提供更多背景信息吗?
-
对不起,我在编辑问题时出错了。现在我又更新了一次。我需要将每个 html 块放到它自己的 div 中——这就是目的。
-
您的 jsps 中是否有唯一的 id 或类? ,因此您将能够从您的数据中选择特定的块。