使用Ajax响应更新TextBox

Upating a TextBox with a Ajax Response

本文关键字:TextBox 更新 响应 Ajax 使用      更新时间:2023-09-26

我只想用ajax调用的响应更新一个文本框。我正在获取响应,并已使用将其分配到文本框中

document.getElementById("testPad").value = xmlHttpRequest.responseText;

它被整个响应文本更新,而整个响应文本恰好是整个HTML页面。

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

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

虽然这听起来微不足道,但我正面临着一段地狱般的时间,伙计们,请帮帮我。TIA。

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

 <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
  }
  });
   });

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

这个链接应该让你开始:

https://developer.mozilla.org/en-US/docs/Code_snippets/HTML_to_DOM?redirectlocale=en-美国&redirectslug=Code_snippets%3AHTML_to_DOM

尝试刷新/关闭流。

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

我建议jQuery.ajax()。下载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>

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

response.setHeader("Cache-Control", "no-cache");

这是一个试错,但仍然不知道它起作用的确切原因。

谢谢大家的投入。