您现在的位置: 365建站网 > 365文章 > ajax打开请求的两种方式(get,post)

ajax打开请求的两种方式(get,post)

文章来源:365jz.com     点击数:486    更新时间:2009-10-05 21:42   参与评论
ajax有三种打开服务的方式分别是get,post,head
head主要是获取服务器的一些头文件的信息,比如说charset,cont-type之类
这里主要讨论前两种方式,是实际中应用频繁的

一、get方式
get方式是最为常见的,一般实现用户登录,修改密码用的都是get方式

1,新建一html文档,body标签内容如下
<body style="text-align: center">
    
<input type ="text" id ="txt" />
    
<br />
    
<input type ="button" value ="get方式回调"  onclick ="get()" />
</body>
2,js代码文件
var xhr=getXHR();//获得xmlhttprequest对象,getXHR函数的具体实现这里不给出,因为非常简单

function get()
{
    
var str=document.getElementById ("txt").value;
    
var url="PageAjax.aspx?argument="+escape(str);//编码str
    xhr.open("get",url,true);
    xhr.onreadystatechange
=renew;
    xhr.send(
null);//不发送任何内容,因为url中包含了参数数据
}
function renew()
{
    
if (xhr.readystate==4)
    {
        
if (xhr.status==200)
        {
            
var response=xhr.responsetext;
            
var res=response.split('\n');
            alert(res[
0]);
        }
    }
}

3,服务器端PageAjax.aspx.cs文件代码如下
    protected void Page_Load(object sender, EventArgs e)
    {
        
if (Request["argument"!= null)
        {
            
string res ="成功实现post方式回调!传入的参数是:"+ Request["argument"].ToString()+"\n";
            Response.Write(res);
        }
    }

4,到此一个简单的get方式回调完成。
二、post方式 由于get方式每次都要传入参数到url地址上,像用户名,密码之类的参数由于字符比较少,完全可以考虑这中传递方式,但是当有很多参数、并且参数的字符串值很长时(比如博客,你不可能把整篇博客的内容都以参数的方式传递到url上),这种方式就不好了,由于有了post方式的出现。
1,新建一html文档,body标签内容如下
<textarea id="TextArea1" style="width: 323px; height: 76px"></textarea>
    
<br />
    
<input id="Button1" type="button" value="post方式回调" onclick="post()" />
2,js代码文件
var xhr=getXHR();//获得xmlhttprequest对象,getXHR函数的具体实现这里不给出,因为非常简单
function post() 
{
    
var str=document.getElementById ("TextArea1").value;
    
var poststr="arg="+str;
    
var url="PageAjax.aspx?time="+new Date();//加一时间戳,放置发回的数据是服务器缓存的数据
    xhr.open("post",url,true);
    xhr.setRequestHeader(
"Content-Type""application/x-www-form-urlencoded"); //告诉服务器发送的是文本
    //xhr.setRequestHeader("Content-Type", "text/xml"); //告诉服务器发送的是一个xml文件
    xhr.onreadystatechange=update;
    xhr.send(poststr);
//发送poststr数据到服务器
}
function update()
{
    
if (xhr.readystate==4)
    {
        
if (xhr.status==200)
        {
            
var response=xhr.responsetext;
            
var res=response.split('\n');
            alert(res[
0]);
        }
    }
}

3,服务器端PageAjax.aspx.cs文件代码如下
    protected void Page_Load(object sender, EventArgs e)
    {
        
if (Request["arg"!= null)
        {
            
string res = "成功实现get方式回调!传入的参数是:" + Request["arg"].ToString() + "\n";
            Response.Write(res);
        }
    }

4,到此一个简单的post方式回调完成。

如对本文有疑问,请提交到交流论坛,广大热心网友会为你解答!! 点击进入论坛

发表评论 (486人查看0条评论)
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
昵称:
最新评论
------分隔线----------------------------

快速入口

· 365软件
· 杰创官网
· 建站工具
· 网站大全

其它栏目

· 建站教程
· 365学习

业务咨询

· 技术支持
· 服务时间:9:00-18:00
365建站网二维码

Powered by 365建站网 RSS地图 HTML地图

copyright © 2013-2024 版权所有 鄂ICP备17013400号