Java 使用Ajax响应更新文本框

Java 使用Ajax响应更新文本框,java,javascript,ajax,jsp,Java,Javascript,Ajax,Jsp,我只想用ajax调用的响应更新一个文本框。我得到了响应,并使用 document.getElementById("testPad").value = xmlHttpRequest.responseText; 它将使用整个响应文本进行更新,而响应文本恰好是整个HTML页面 在服务器操作上,我发送的响应如下: response.setContentType("text/plain"); response.getWriter().write(output); 虽然这听起来很琐碎,但我正面临着一个地

我只想用ajax调用的响应更新一个文本框。我得到了响应,并使用

document.getElementById("testPad").value = xmlHttpRequest.responseText;
它将使用整个响应文本进行更新,而响应文本恰好是整个HTML页面

在服务器操作上,我发送的响应如下:

response.setContentType("text/plain");
response.getWriter().write(output);

虽然这听起来很琐碎,但我正面临着一个地狱般的时刻,伙计们,请帮忙。TIA.

尝试冲洗/关闭流

response.setContentType("text/plain");
response.getWriter().write(output);
response.getWriter().close();
我建议。下载jQuery.js或只使用CDN url

<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.0/jquery.min.js"></script>
<script type="text/javascript">
    $(function () {
        $("#btnSubmit").click(function () {
            $.ajax({
                url: "serverAction",
                success: function (data) {
                    $("#resultText").val(data);
                },
                error: function (xhr, status, errorDesc) {
                    alert(errorDesc);
                }
            });
        });
    });
</script>

<div>
  <input type="text" id="resultText" />
  <input type="button" id="btnSubmit" value="Show" />
</div>

$(函数(){
$(“#btnsupmit”)。单击(函数(){
$.ajax({
url:“服务器操作”,
成功:功能(数据){
$(“#resultText”).val(数据);
},
错误:函数(xhr、状态、errorDesc){
警报(errorDesc);
}
});
});
});

假设您有一个文本框和一个按钮点击按钮,您必须更新您的文本框

 <input id="txtClicked" type="text" runat="server" />
 <input id="buttClicked" type="button" runat="server" />

  $("#buttClicked").click(function(){
  $.ajax({
  type: "POST",
  url: "Dashboard.aspx/GetTreeNodesByText", // that's your server side page and the function
  data: "{}",
  contentType: "application/json; charset=utf-8",
  dataType: "json",
  success: function (data) {
  $("#txtClicked").val(data.d); //data.d is the response from the server
  }
  });
   });

$(“#点击”)。点击(函数(){
$.ajax({
类型:“POST”,
url:“Dashboard.aspx/gettreneodesbytext”,//这是您的服务器端页面和函数
数据:“{}”,
contentType:“应用程序/json;字符集=utf-8”,
数据类型:“json”,
成功:功能(数据){
$(“#txtClicked”).val(data.d);//data.d是来自服务器的响应
}
});
});

您需要将responseText字符串解析为HTML DOM,从中可以轻松检索所需信息

此链接将帮助您开始:


我通过设置header属性使其工作

response.setHeader("Cache-Control", "no-cache");
这是一次尝试和错误,但仍然不知道它起作用的确切原因


谢谢大家的支持。

跨平台使用Ajax非常重要,所以使用jQuery这样的框架可能会更好。我是FilmJ的,为什么不使用jQuery Ajax呢?我将举一个例子向大家展示如何使用jQuery实现这一点