Ajax:获取服务端XML数据(responseXML、content-type)

  • Post author:
  • Post category:其他

XML:用于存储和传输数据,关注的是数据的内容

HTML:用于展示数据,关注的是数据的外观

平时使用response来获取服务端的响应数据;对于XML数据需要使用responseXML来获取。

客户端获取到的responseXML有着和document类似的获取标签元素对象的方法

从而可以从存在标签的响应数据中获取到被包裹在内的值

<body>
    <!-- XML:用于存储和传输数据,关注数据的内容 HTML:用于展示数据,关注数据的外观 -->
    <button id="btn">发送请求</button>
    <div id="container"></div>
    <script>
        var btn = document.getElementById('btn');
        var container = document.getElementById('container');
        btn.onclick = function() {
            var xhr = new XMLHttpRequest();
            xhr.open('get', '/xml');
            xhr.send();
            xhr.onload = function() {
                // xhr.responseXML来获取服务器端返回的XML数据
                var xmlDocument = xhr.responseXML;

                // xmlDocument获取到的XML存在同html中类似的方法
                var content = xmlDocument.getElementsByTagName('content')[0].innerHTML;
                container.innerHTML = content;
            }
        }
    </script>
</body>

服务端需要配置响应头的内容类型为xml类型,然后将xml内容响应给客户端 

app.get('/xml', (req, res) => {
    // 设置响应头告诉客户端返回的是xml数据
    res.header('content-type', 'text/xml');

    res.send('<message><title>善</title><content>积善者必有余庆</content></message>');
})

 测试结果:(点击按钮后发送请求,响应请求,获取响应数据,插入到页面中显示数据内容)

 


版权声明:本文为qq_38800316原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。