我有這個簡單的html代碼片段,每當我點擊任何按鈕時,服務器將發回一些字符串,我希望它在#response
div中顯示。如何從div內的servlet獲取響應數據?
<form target="_self" method="post">
<table>
<tr>
<td width="35"><input type="button" id="btncreate" value="create" onclick="getData();"></td>
<td width="35"><input type="button" id="btnupdate" value="update"></td>
<td width="30"><input type="button" id="btndelete" value="delete"></td>
</tr>
<tr>
<td>Name : </td>
<td><input type="text" id="name" value=""></td>
</tr>
<tr>
<td>File : </td>
<td><input type="file" id="filname" value=""></td>
</tr>
</table>
</form>
<div id="response"></div>
在JS我使用基於瀏覽器XMLHttpRequest
或ActiveXObject
發送請求,servlet和我能得到我怎麼能直接此輸出到我的#response
格在client.responseText()
反應?
這裏是我的JS
function getData()
{
var client;
var data;
var url_action="/temp/getData";
if(window.XMLHttpRequest)
{
client=new XMLHttpRequest();
}
else
{
client=new ActiveXObject("Microsoft.XMLHTTP");
}
client.onreadystatechange=function()
{
if (client.readyState==4 && client.status==200)
{
document.getElementById("response").innerHTML=client.responseText;
}
};
data="name="+document.getElementById("name").value+"&file="+document.getElementById("filname").value;
client.open("POST",url_action,true);
client.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
client.send(data);
}
的Servlet POST方法
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
PrintWriter out=response.getWriter();
log.info("Good");
out.println("Good to go");
}
但使用js腳本不是jQuery的,我不能夠從servlet的得到輸出
感謝所有爲一jQuery代碼,在Javascript中的任何替代?
相關:http://stackoverflow.com/questions/4112686/update-current-page-with-a -servlet – BalusC 2011-05-20 12:41:02