alert(reponseText + $(。class))

时间:2016-04-16 17:59:40

标签: javascript jquery ajax

我想打印Hello World。但它不起作用。为什么?问题出在第30行,如何更改此行以打印“Hello World”。按类“例子”?我已经尝试了var x = y.getElementsByClassName("example");var x = variavelhtttp.responseXML.getElementsByClassName("example");,但没有成功。

的index.html

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

    <title>Load page</title>

    <script src="https://code.jquery.com/jquery-1.10.2.js"></script>

    <script type="text/javascript">
    if(window.XMLHttpRequest){
    variavelhtttp = new XMLHttpRequest();
    }else{
    alert("Withouth Ajax!");
    }
    </script>

</head>

<body>

    <button type="button" onclick="loadDoc()">Go</button>

    <script type="text/javascript">
        function loadDoc(){
            variavelhtttp= new XMLHttpRequest();
            variavelhtttp.open("GET","text.html",false);
            variavelhtttp.send();
            var y = variavelhtttp.responseText;
            window.alert(y);
            var x = $( ".example" ).html(y);
            alert(x);
         }
    </script>

</body>
</html>

text.html

<html>
<head>
    <title></title>
</head>
<body>
    <div class="example">Hello World.</div>
</body>
</html>

2 个答案:

答案 0 :(得分:0)

$( ".example" ).html(y)在.example

中设置值y

var x = $( ".example" ).html(y);会使x成为对象,您可以使用alert(x);

查看

您想要的提醒:

alert(  $( ".example" ).html() );

OR

alert(  $( ".example" ).text() );

答案 1 :(得分:0)

@snoopy,如果要访问从axaj调用中检索到的div.example的内部文本,则必须正确解析它。首先,如果你正在使用jQuery,那么在这里使用vanillaJS是没有意义的。其次,您的HTTPRequest 不是ajax调用,因为您在同步模式上使用它(而不是异步模式,从AJAX代表的A)。

以下是使用load和过滤器的示例。

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>Load page</title>
</head>

<body>

    <button type="button">Go</button>

    <script src="https://code.jquery.com/jquery-1.10.2.js"></script>
    <script type="text/javascript">
        $('button').click(loadDoc);

        function loadDoc(){
            //use a DOM element created by jQuery to hold the response! 
            var container = $('<div>'); 
            //.load allows you to filter the text using a CSS selector
            container.load("text.html .example", null, print);

            //uses the complete handler to execute code after ajax done
            function print(){
              var example = $('.example', container);
              alert(example.text());
              //you can ommit this line if you don't want to append in the real DOM
              $('body').append( example );
            }
         }
    </script>

</body>
</html>

实例https://plnkr.co/edit/4yniGzRVjFDNXY9b4Hds?p=preview

仅使用HTML和vanillaJS的实例:https://plnkr.co/edit/0S7XJ8xVFa43wWNw8Xtg?p=preview