本文详细解析了Ajax中GET和POST两种请求方式的具体实现与区别。通过XMLHttpRequest对象,演示了如何创建异步对象、设置请求参数、处理响应状态码及发送数据。重点对比了GET请求无需设置Content-Type且通过URL传参,而POST请求需指定application/x-www-form-urlencoded编码并通过send方法传递数据体的差异,帮助开发者掌握前端异步通信的核心技术。
GET请求的实现细节
1.get请求
function ()
{
//向服务器请求 时间
//1.创建异步对象(小浏览器)
var xhr = new XMLHttpRequest();
//2.设置参数,true表示使用异步模式
xhr.open("get", "GetTime.ashx?name= Mr靖", true);
//3.让get请求不从浏览器获取缓存数据
xhr.setRequestHeader("If-Modified-Since","0");
//3.设置回调函数
xhr.onreadystatechange = function ()
{
//3.1当完全接收完响应报文后 并且 响应状态码为200的时候
if (xhr.readyState == 4 && xhr.status == 200)
{
//3.2获取相应报文体内容
var res = xhr.responseText;
alert(res);
}
};
//4.发送异步请求
xhr.send(null);
}
POST请求的实现细节
2.post请求
function ()
{
//向服务器请求 时间
//1.创建异步对象(小浏览器)
var xhr = new XMLHttpRequest();
//2.设置参数
xhr.open("post", "GetTime.ashx", true);
//3.设置 请求 报文体 的 编码格式(设置为 表单默认编码格式)
xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
//4.设置回调函数
xhr.onreadystatechange = function ()
{
//3.1当完全接收完响应报文后 并且 响应状态码为200的时候
if (xhr.readyState == 4 && xhr.status == 200)
{
//3.2获取相应报文体内容
var res = xhr.responseText;
alert(res);
}
};
//5.发送异步请求"name=Mr靖"
//5.1格式:直接拼接字符串 key=value&key1=value2
xhr.send("name=Mr靖&age=18");
};
以上这篇深入理解Ajax的get和post请求就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持本站。