ajax学习笔记之get&post

本文详细对比了GET与POST两种HTTP请求方法的区别,包括数据提交方式、安全性考量、使用场景及编码问题等,并提供了具体的JavaScript实现示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

//通用部分

var xhr;

try { xhr = new XMLHttpRequest(); }                                             //兼容非标准ie

catch(e) { xhr = ActiveXObject('Microsoft.XMLHTTP'); }


//第二参数为地址(php文件),第三个参数为是否异步

//get方式  提交的数据直接跟在url?后面键值对形式用&连接

xhr.open('get', ‘getNews.php?username=li&age=18‘, true);           

xhr.send();

/***************get方式问题*****************************************/

1)缓存   如果第一次请求过的url,即第二个参数不变,则不会重新请求,直接用缓存中的数据

可以加个时间戳  ‘getNews.php?username=li&age=18&‘ + new Date().getTime()

2)编码 中文乱码

使用encodeURI()  ‘getNews.php?username=' + encodeURI('小明') + '&age=18&‘ + new Date().getTime()

/**********************************************************************/

//post方式 

xhr.open('post', ‘getNews.php’, true);

xhr.setRequestHeader('content-type', 'application/x-www-form-urlencoded');             //确定提交数据的格式

xhr.send(‘username=li&age=18’);


//通用部分

xhr.onreadystatechange = function(){              //请求状态发生改变会回调该函数

if (xhr.readtState == 4) {               //请求状态  0 未连接  1 打开连接  2 发送请求   3 交互   4 完成交互

if (xhr.status == 200) {        //请求资源的状态 就是http状态码  

//对资源的操作...

}

else{

//资源错误提示...

}

}

}


GET请求会将参数跟在URL后进行传递,而POST请求则是作为HTTP消息的实体内容发送给WEB服务器
GET - 从指定的资源请求数据    POST - 向指定的资源提交要处理的数据
当请求无副作用时(如进行搜索),只应当用于取回数据,便可使用GET方法;
当请求有副作用时(如添加数据行),则用POST方法

get方式 
1)浏览器或是操作系统对URl的长度有限制 所以提交的数据就有长度限制
2)请求的数据会被浏览器缓存起来 可从历史记录中获取 存在安全隐患
3)请求数据类型只允许 ASCII 字符


//通过表单提交





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值