我有这个简单的html代码片段,每当我点击服务器将发回一些字符串的任何按钮时,我希望它显示在#response
div中。
<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发送请求,我可以在client.responseText()
中获取响应,那么如何将此输出定向到我的{ {1}} div?
这是我的JS
#response
Servlet post方法
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);
}
但是使用js脚本而不是jquery,我无法从servlet
获取输出感谢所有jQuery代码,Javascript中的任何替代方法?
答案 0 :(得分:2)
简单地做
success: function(data) {
var res = client.responseText();
$('#response').html(res);
// or $('#response').append(res);
});
以简单的 java脚本:document.getElementById("response").innerHTML=res;
答案 1 :(得分:2)
答案 2 :(得分:1)
由于您使用的是jQuery(基于问题标签的假设),您可以使用.load()
-method:
$('#some-button').click(function (e) {
e.preventDefault();
$('#response').load('url/to/entry/point');
});
这有利于jQuery为您完成所有ajax工作(创建和处理XMLHttpRequest和ActiveX东西)。