我们有一个 Java Servlet 运行, 为我们提供所需的数据。 问题在于 Jquery 如何解读这些数据 。
信息通过响应作者发送。 (例如: 消息)
protected void doPost(HttpServletRequest request,
HttpServletResponse response)
throws ServletException {
String body = "";
for (Message msg : messages) {
body += "<div class="Message" id="" + msg.getId() + "">"
+ *inner information*
+ "</div>";
}
response.getWriter().write(body);
}
信息是通过Ajax要求获得的
$.ajax({
type: POST ,
url: message.jsp ,
data: { *Needed data* },
success: function(data) {
$( #element ).append(data);
}
});
这有时是有效的,有时是行不通的。所以我们用铬检查控制台,让代码停止在附加行。当发送多个信息时,成功函数中的数据被解释为一个大字符串,
"<div class="message" id="153" onclick="loadFullMessage(153)"></div>
<div class="message" id="154" onclick="loadFullMessage(154)"></div>
<div class="message" id="155" onclick="loadFullMessage(155)"></div>
<div class="message" id="156" onclick="loadFullMessage(156)"></div>
"
但只发送了 1 个消息/ div 时,它被解释为 # document 对象。
#document
<div class="message" id="174" onclick="loadFullMessage(174)">…</div>
电文可在铬控制台中看到,但如果附加以下错误,则会遇到未发现错误:HIERARCHY_REQUEST_ERR:DOM例外3。
如何将数据总是解释为字符串而不更改为文档对象?