responseText - XMLHttpRequest - PullRequest
       1

responseText - XMLHttpRequest

2 голосов
/ 03 января 2012

в моем коде responseText не работает.Предполагается, что текст, введенный в текстовое поле + ": ваш запрос был просмотрен syam"

<html>
    <head id="Head1" runat="server">
    <title></title>
        <script type="text/javascript">
            var xmlHttpRequest;
            function sSignature(str) {

                xmlHttpRequest = new XMLHttpRequest();
                xmlHttpRequest.onreadystatechange = function() {
                    if (xmlHttpRequest.readyState == 4 && xmlHttpRequest.status == 200) {                
                        document.getElementById("target").innerHTML =    xmlHttpRequest.responseText;
                    }
                }
                xmlHttpRequest.open("GET", "AjaxResponse.aspx?q=" + str, true);
                xmlHttpRequest.send();
            }
        </script>
    </head>
    <body>
        <form id="form1" runat="server">
            <div>
            enter a string :<input type="text" id="textbox" onkeyup="sSignature(this.value)"/>
            <span id="target">text should change here</span>
            </div>
        </form>
    </body>
</html> 

На странице с выделенным кодом в page_load ()

string sRequest = Request.QueryString["q"];
var sResponse = sRequest+ " :Your request has been seen by syam";
Response.Write(sResponse);

Ответы [ 3 ]

3 голосов
/ 03 января 2012

Я считаю, что ошибка в вашем onreadystatechangedhandler. Он получит параметр event, в котором свойство target указывает на экземпляр XHR.

Попробуйте поменять это с помощью:

xmlHttpRequest.onreadystatechange = function (event) {
    var xhr = event.target;

    if (xhr.readyState === 4 && xhr.status === 200) {
        document.getElementById("target").innerHTML = xhr.responseText
    }
};
1 голос
/ 03 января 2012

отправьте запрос первым

function sSignature(str) {

    xmlHttpRequest = new XMLHttpRequest();
    xmlHttpRequest.open("GET", "AjaxResponse.jsp?q=" + str, true);
    xmlHttpRequest.send();
    xmlHttpRequest.onreadystatechange = function() {
        if (xmlHttpRequest.readyState == 4 && xmlHttpRequest.status == 200) {                
            document.getElementById("target").innerHTML =    xmlHttpRequest.responseText;
        }
    }

}
0 голосов
/ 03 января 2012

Имейте в виду, что ваш код не будет работать в Microsoft Internet Explorer.

Во-вторых, измените одну строку кода, чтобы она выглядела лучше -

xhr.send() по xhr.send(null);

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...