黑马程序员---XMLHttpRequest 对象open参数中使用post与get区别
2012-04-19 08:06
761 查看
----------------------
Windows Phone 7手机开发、.Net培训、期待与您交流! ----------------------
POST:用"POST"方式发送数据,可以大到4MB
GET:用"GET"方式发送数据,只能256KB
如果请求带有参数的化实用POST方式,POST方式将参数放置在页面的隐藏控件内
没有参数使用GET方式
对于请求的页面在中途可能发生更改的,也最好用POST方式
用GET方式可能会拿不到最新的信息 (摘至网络)
xmlhttp.open("POST","GetDate1.ashx?id="+encodeURI("林其响"),false)
xmlhttp.open("GET","GetDate1.ashx?id="+encodeURI("林其响")+"&ts"+new
Date(),false)
在使用post时,浏览器不会缓存所请求的内容,当使用get是默然浏览器就会缓存所请求的东西,当然这里可以可以使用一个技巧当使用get请求时浏览器不缓存,就是使没次的参数不一样,这样我们就可以使用
new Date() 每次请求时间都是不一样,这样就达到效果咯。比如在做汇率的时候,由于汇率是每天都有变化的,当时候get是就应该在参数中使用new
Date()。
下面这个例子就是使用post和get请求
Date1.htm文件:
<!DOCTYPEhtmlPUBLIC"-//W3C//DTD
XHTML 1.0 Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<htmlxmlns="http://www.w3.org/1999/xhtml">
<head>
<title>无标题页</title>
<scripttype="text/javascript">
function btnClick(){
var xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
if(!xmlhttp){
alert("创建xmlhttp对象异常");
returnfalse
cf08
;
}
xmlhttp.open("POST","GetDate1.ashx?id="+encodeURI("温家宝"),false)
//xmlhttp.open("GET","GetDate1.ashx?id="+encodeURI("温家宝")+"&ts"+new
Date(),false)
xmlhttp.onreadystatechange=function(){
if(xmlhttp.readyState==4){
if(xmlhttp.status==200){
document.getElementById("text1").value=xmlhttp.responseText;
}
else{
alert("Ajax服务器返回错误!");
}
}
}
xmlhttp.send();
}
</script>
</head>
<body>
<inputid="Text1"type="text"/><inputid="Button1"type="button"value="button" onclick="btnClick()"/>
</body>
</html>
GetDate1.ashx文件
<%@WebHandlerLanguage="C#"Class="GetDate1"%>
using System;
using System.Web;
publicclassGetDate1
:IHttpHandler {
publicvoid ProcessRequest (HttpContext
context) {
context.Response.ContentType ="text/plain";
string
id=context.Request["id"];
context.Response.Write(DateTime.Now.ToString()+"----"+id);
}
publicbool IsReusable {
get {
returnfalse;
}
}
}
----------------------
Windows Phone 7手机开发、.Net培训、期待与您交流! ----------------------
详细请查看:http://edu.csdn.net/heima
Windows Phone 7手机开发、.Net培训、期待与您交流! ----------------------
POST:用"POST"方式发送数据,可以大到4MB
GET:用"GET"方式发送数据,只能256KB
如果请求带有参数的化实用POST方式,POST方式将参数放置在页面的隐藏控件内
没有参数使用GET方式
对于请求的页面在中途可能发生更改的,也最好用POST方式
用GET方式可能会拿不到最新的信息 (摘至网络)
xmlhttp.open("POST","GetDate1.ashx?id="+encodeURI("林其响"),false)
xmlhttp.open("GET","GetDate1.ashx?id="+encodeURI("林其响")+"&ts"+new
Date(),false)
在使用post时,浏览器不会缓存所请求的内容,当使用get是默然浏览器就会缓存所请求的东西,当然这里可以可以使用一个技巧当使用get请求时浏览器不缓存,就是使没次的参数不一样,这样我们就可以使用
new Date() 每次请求时间都是不一样,这样就达到效果咯。比如在做汇率的时候,由于汇率是每天都有变化的,当时候get是就应该在参数中使用new
Date()。
下面这个例子就是使用post和get请求
Date1.htm文件:
<!DOCTYPEhtmlPUBLIC"-//W3C//DTD
XHTML 1.0 Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<htmlxmlns="http://www.w3.org/1999/xhtml">
<head>
<title>无标题页</title>
<scripttype="text/javascript">
function btnClick(){
var xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
if(!xmlhttp){
alert("创建xmlhttp对象异常");
returnfalse
cf08
;
}
xmlhttp.open("POST","GetDate1.ashx?id="+encodeURI("温家宝"),false)
//xmlhttp.open("GET","GetDate1.ashx?id="+encodeURI("温家宝")+"&ts"+new
Date(),false)
xmlhttp.onreadystatechange=function(){
if(xmlhttp.readyState==4){
if(xmlhttp.status==200){
document.getElementById("text1").value=xmlhttp.responseText;
}
else{
alert("Ajax服务器返回错误!");
}
}
}
xmlhttp.send();
}
</script>
</head>
<body>
<inputid="Text1"type="text"/><inputid="Button1"type="button"value="button" onclick="btnClick()"/>
</body>
</html>
GetDate1.ashx文件
<%@WebHandlerLanguage="C#"Class="GetDate1"%>
using System;
using System.Web;
publicclassGetDate1
:IHttpHandler {
publicvoid ProcessRequest (HttpContext
context) {
context.Response.ContentType ="text/plain";
string
id=context.Request["id"];
context.Response.Write(DateTime.Now.ToString()+"----"+id);
}
publicbool IsReusable {
get {
returnfalse;
}
}
}
----------------------
Windows Phone 7手机开发、.Net培训、期待与您交流! ----------------------
详细请查看:http://edu.csdn.net/heima
相关文章推荐
- XMLHttpRequest.open();第一个参数post,get有什么不同,什么时候选什么,还有其他的,都有什么区别?
- ajax中XMLHttpRequest对象的open()方法GET和POST方式区别
- jQuery的ajax()检验用户名;通过jQuery的load()/get()/post()方法实现;使用XMLHTTPRequest对象来进行AJAX的异步数据交互
- javascript XMLHttpRequest 对象的open() 方法参数说明
- 原始ajax通过xmlHttpRequest对象的send()方法提交数据--Get方式和Post方式
- 使用JavaScript的XMLHttpRequest发送POST、GET请求以及接收返回值
- js中XMLHttpRequest对象实现GET、POST异步传输
- 关于XMLHttpRequest.open()设置提交方式 (POST,GET)
- XMLHttpRequest对象使用“POST”方法,需要设置“setRequestHeader”
- ajax xmlhttprequest使用post传参数并向后台获取数据
- xmlHttp.open方法中参数get和post
- AJAX技术使用XMLHttpRequest对象传递参数的中文乱码问题
- 20110215 学习记录2:表单中的get和post区别 & 使用 HttpWebRequest 向网站提交数据
- 关于XMLHttpRequest.open()设置提交方式 (POST,GET)
- 使用JavaScript的XMLHttpRequest发送POST、GET请求以及接收返回值
- AJAX入门---五步使用XMLHttpRequest对象
- 【转】使用HttpWebRequest POST图片等文件,带参数
- Android中使用Json和Xml与服务器进行通信,使用代码发送Get和Post请求,http请求辅助类
- ajax XMLHttpRequest post get
- AJAX-----05XMLHttpRequest对象的用post方式进行ajax请求