post和get

post和get是使用XMLHttpRequest提交请求常用的两个方法,我们都知道get的时候一般将请求的字符窜放在url后面,而post是却不是,get的数据量的限制,而post没有,其实差别不仅仅体现在前端这块,后台也有差别。下来就在这里
闲聊一番。一般会通过下面的代码创建一个XMLHttpRequest对象。
function GetXMLHttpRequest(callbackXhr) { var Xmlhr; if (window.XMLHttpRequest) { Xmlhr = new XMLHttpRequest(); } else if (window.ActiveXObject) { try { Xmlhr = new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { try { Xmlhr = new ActiveXObject("Microsoft.XMLHTTP"); //IE5/IE6 } catch (e) { } } } if (Xmlhr) { Xmlhr.onreadstatechange = callbackXhr; } return Xmlhr; }

XMLHttpRequest的主要方法有open,send

open方法创建一个请求,并准备向服务器发送,原型为:

open(method,url,async,user,password)

method(get,post)

url,请求地址

async 请求是同步还是异步,同步为true,异步为false,默认为true

user  指定请求的用户名,没有就省略

password 同上

send方法向服务器发送请求,原型如下:

send(para)

该方法只用一个body参数,如果在使用post的时候一般会采用下面的方式;

var body="id=1";定义项服务器发送2个值,用&分隔开,如果采用的是get方法,一般会将请求的参数放在url后面,而在send里面设置为null。

比起get方法,post方法需要设置请求的HTTP头,通过以下语句实现:

setRequestHeader('Content-type','application/x-www-form-urlencoded');

表单提交中,ASP.NET的get和post方式的区别归纳如下几点:

1. get是从服务器上获取数据,post是向服务器传送数据。

2.  get是把参数数据队列加到提交表单的action属性所指的URL中,值和表单内各个字段一一对应,在URL中可以看到。post是通过HTTP  post机制,将表单内各个字段与其内容放置在HTML HEADER内一起传送到action属性所指的URL地址。用户看不到这个过程。

3.  对于get方式,服务器端用Request.QueryString获取变量的值,对于post方式,服务器端用Request.Form获取提交的数据。

4.  get传送的数据量较小,不能大于2048个字节。post传送的数据量较大。

5.  get安全性非常低,post安全性较高。但是执行效率却比Post方法好。

建议:

1、get方式的安全性较Post方式要差些,包含机密信息的话, 建议用Post数据提交方式;

2、在做数据查询时,建议用get方式;而在做数据添加、修改或删除时,建议用Post方式

protected void Page_Load(object sender, EventArgs e)  
     {  
         string id = Request.QueryString["id"];  
                 Response.Write(id + "< br>" + website);  
  
      
  
     }  

//第2种,接收用post 方法传输的数据的写法:

protected void Page_Load(object sender, EventArgs e)  
     {  
         
         string id2 = Request.Form["id"];  
        
  
     }  

 

 

原文地址:https://www.cnblogs.com/zuiyirenjian/p/3036400.html