服务端获取客户端html页面内容-2013-6-28-2

客户端怎么提交  整个html页面?
   分析:
     1>我们知道b/s模式,也知道http协议。服务端想要获取客户端的数据,客户端就

必须提交给它,服务器才能获取到。
    2>怎么获取当前整个html页面呢?对,我们可以给<html id="htmlid"></html>加一

个id,使用jquery的html()方法。
e.g:    
    $("#htmlid").html();
这样我们获取的只是<html>标签内的内容,<html>本身标签和html文档定义的标签( <!

DOCTYPE html> )没有获取到。不过这个容易,我们可以在后台自己手动加上!!
    3>html页面内容我们获取到了,就可以提交给服务器了啊。这样就结束了吗?
    告诉你,答案是没有。我们想一下html内容就是一个页面,内容很大,我们该怎么

提交?当然不能使用get方式提交,因为get最大提交字符数只有2083个字符!故我们使用post

提交。
    4>post表单提交
    post提交只能用于表单,故我们还要造一个表单,表单内添加一个带有name的

<input>标签(用于保存获取到的html页面内容)。
    这里需要注意保存的是html代码,input value=""  当html代码放在value里时,整个

html页面都将会出现格式错误。故html代码提交到服务器时我们可以利用js的

encodeURIComponent()方法进行编码。当然,相应服务器端要想获得html代码就必须解码

,利用C#的HttpUtility.UrlDecode()解码。
    5>这样整个客户端提交html代码及服务端获取html代码的流程就讲完了。

    注意点总结:
    可以给html里的标签标识id,用$("#id").html()的方法获取到html页面内容;因为html

页面内容很多,故我们必须用post提交;html代码含有各种特殊字符,故我们提交服务器前使

用encodeURIComponent()编码;服务端使用HttpUtility.UrlDecode()解码获得客户端提交的

html代码。

原文地址:https://www.cnblogs.com/jiangu66/p/3162923.html