搜尋

首頁  >  問答  >  主體

javascript - console.log()得到的數據,如何輸出到頁面中

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title></title>
    <script type="text/javascript">
        function get_msg(){
            //ajax请求接受,js做处理
            var xhr = new XMLHttpRequest();
            xhr.onreadystatechange=function(){
                if(xhr.readyState==4){
                    // alert(typeof xhr.responseText);//
                    eval("var people="+xhr.responseText);
                    console.log(people);
                    document.getElementById('res').innerHTML = eval;
                }
            }
            xhr.open('get','./3.php');
            xhr.send(null);
        }
        //把string变为object对象
        //eval() 字符串参数->表达式 来运行
    </script>
</head>
<body>
    <h2>接受信息 并 读取</h2>
    <input type="button" value="获取" onclick="get_msg()">
    <p id="res"></p>
</body>
</html>

我是想在頁面中加入一個p,把內容輸出在這個裡,但是我這麼寫好像不對。怎麼樣才能為console.log新增一個ID呢?或是怎麼把console.log的內容輸出到p中呢?

为情所困为情所困2811 天前3499

全部回覆(5)我來回復

  • 天蓬老师

    天蓬老师2017-05-19 10:48:01

    • 本身這個命題就有點問題。 console.log()的功能就是用於程式碼偵錯的,是控制台輸出,這個方法的目的就是對於你不想顯示在頁面的內容,顯示在控制台中,方便程式碼偵錯。如果要在頁面中輸出,有很多方法啊,Element.innnerHTML、Element.text()都是不錯的選擇啊,再不濟還有暴力的document.write()方法,為什麼還要那麼麻煩的找到console的內容,然後輸出到頁面呢?換句話說,只要你能console的內容,都可以用document.write()到頁面上

    • 題主的程式碼不過是做了一個ajax,eval是幾個意思啊? xhr.send(null)又是幾個意思啊?更何況即使是xhr.readyState==4:true,這也只是代表後台接收到數據了,但是有沒有給你回傳數據,你是不是也要判斷一下啊?

    • 題主的如果做原生的ajax,那就最好注意狀態碼的控制,處理好業務邏輯。如果採用jquery或angular,會是更不錯的選擇

    回覆
    0
  • 漂亮男人

    漂亮男人2017-05-19 10:48:01

    console.log印製的是people的內容,那麼你innerHTML的內容就是people啊,你寫個eval是幾個意思啊

    回覆
    0
  • 曾经蜡笔没有小新

    曾经蜡笔没有小新2017-05-19 10:48:01

    直接var people 然後賦值,再把people加到對應的位置不就好了。 eval不要瞎用。

    回覆
    0
  • 曾经蜡笔没有小新

    曾经蜡笔没有小新2017-05-19 10:48:01

    eval這個函數慎用。直接把你需要列印的內容放到一個變數裡面。然後innerhtml或innertext

    回覆
    0
  • 仅有的幸福

    仅有的幸福2017-05-19 10:48:01

    輸出到頁 innerText 或 innerHTML 都行

    回覆
    0
  • 取消回覆