0
我在使用ajax追加內容div時遇到了問題。該servlet的響應將打印兩次。來自servlet的Ajax響應正在打印兩次
這是兩個頁面的代碼。
demo.jsp
<html>
<head>
<script>
function run()
{
var content = document.getElementById("output");
var xhr = new XMLHttpRequest();
xhr.onreadystatechange = function() {
content.innerHTML += xhr.responseText;
}
xhr.open("POST", "demo", true);
xhr.send(null);
}
</script>
</head>
<body>
<input type="submit" value="Add Content" onclick="run();"/>
<div id="output">This is Static Text.</span><br>
</div>
</body>
DemoServlet
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@WebServlet(urlPatterns = {"/demo"})
public class Demo extends HttpServlet {
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
try {
/* TODO output your page here. You may use following sample code. */
out.println("This is Dynamic Text<br>");
} finally {
out.close();
}
}
}
的輸出 div的最終含量是:
這是靜態文本。
這是動態文本。
這是動態文本。
我無法理解動態文本爲什麼要打印兩次。
在此先感謝。
如果你究竟瞭解如何使用'XMLHttpRequest'?我建議重新閱讀該資源或尋找更好的資源。 – BalusC 2013-05-08 19:39:10