【问题标题】:How can I send Current web page's whole HTML document to server?如何将当前网页的整个 HTML 文档发送到服务器?
【发布时间】:2013-11-12 10:28:21
【问题描述】:

我怎样才能将我当前看到的网页(意味着 javascript 处理的操纵 html 文档以供用户查看 - 一种交互式 AJAX 网页)发送到服务器?

我可以将“所有 html 元素的文档对象之母”原样发送到服务器吗?

【问题讨论】:

  • 您的问题应该更具体地说明您要实现的目标,但如果您有 jquery jsfiddle.net/MUkGe,您可以获得所有标记,但我实际上并没有看到这样做的目的。
  • 您可以使用document.documentElement.innerHTML 获取<html></html> 标签之间的所有内容。
  • 天哪!谢谢!

标签: javascript html dom xmlhttprequest httprequest


【解决方案1】:

如果您想在网页中与网络服务器交互,您可以提交表单(向网络应用程序发布网络请求)或请求 URL(从 URL 获取网络请求)。

如果你想向服务器发送一些东西,你可以POST你想要的参数,当服务器收到请求时,它会执行一些功能并给你一个响应。 POST 示例:

    POST www.xxxx.com?name=asdf HTTP/1.1
    Accept-Encoding: gzip,deflate
    Content-Type: application/x-www-form-urlencoded; charset=UTF-8
    Content-Length: 97
    Host: www.xxxx.com
    Connection: Keep-Alive
    User-Agent: Apache-HttpClient/4.1.1 (java 1.5)

回复是:

    HTTP/1.1 200 OK
    Content-Type: application/json
    Cache-Control: no-store
    Pragma: no-cache
    Date: Thu, 31 Oct 2013 08:04:29 GMT
    Transfer-Encoding: chunked
    Connection: Keep-Alive
    <html><body>Hello World</body></html>

希望对您有所帮助。

【讨论】:

    【解决方案2】:
    <!DOCTYPE html>
    <html lang="en" xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <meta charset="utf-8" />
        <title></title>
        <link rel="stylesheet" type="text/css" href="styles.css" />
        <script src="http://code.jquery.com/jquery-1.10.1.min.js"></script> 
         <style type="text/css">
             .contain-entire-page {
                 display: none;
             }
         </style>
    </head>
    <body>
     <!-- us\sonawpa -->
        <form class="submit-entire-page" action="demo.php" method="post">
            <textarea class="contain-entire-page"></textarea>
        </form>
        <script type="text/javascript">
    
            $(document).ready(function () {
                var str = '<!DOCTYPE html><html lang="en" xmlns="http://www.w3.org/1999/xhtml">';
                str += $('html').html();
                str += '</html>';
                $('.contain-entire-page').val(str);
                $('.submit-entire-page').submit();
            });
        </script>
    
    </body>
    </html>
    

    【讨论】:

      【解决方案3】:

      只需使用标准的 js 函数来获取“body”元素,它就是 innerHTML

        var bodyHtml = document.getElementsByTagName('body')[0].innerHTML;
      

      然后你可以使用ajax请求到服务器发送html

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-09-03
        • 1970-01-01
        • 2018-05-13
        • 1970-01-01
        • 2011-04-16
        • 2021-07-14
        相关资源
        最近更新 更多