您现在的位置是:群英 > 开发技术 > web开发
ajax请求时post和get怎样选,有什么不同
Admin发表于 2022-09-01 17:38:53400 次浏览
这篇文章主要给大家介绍“ajax请求时post和get怎样选,有什么不同”的相关知识,下文通过实际案例向大家展示操作过程,内容简单清晰,易于学习,有这方面学习需要的朋友可以参考,希望这篇“ajax请求时post和get怎样选,有什么不同”文章能对大家有所帮助。

 

区别:1、get把参数数据队列加到提交表单的ACTION属性所指的URL中,而post是通过“HTTP post”机制,将表单内各个字段与其内容放置在“HTML HEADER”内一起传送到ACTION属性所指的URL地址;2、get方式,服务器端用“Request.QueryString”获取变量的值,对于post方式,服务器端用“Request.Form”获取提交的数据。

本文操作环境:windows10系统、javascript1.8.5&&html5版、Dell G3电脑。

ajax请求时post和get的区别是什么

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

2、 对于get方式,服务器端用Request.QueryString获取变量的值,对于post方式,服务器端用Request.Form获取提交的数据。两种方式的参数都可以用Request来获得。

3、get传送的数据量较小,不能大于2KB。post传送的数据量较大,一般被默认为不受限制。但理论上,因服务器的不同而异.

4、get安全性非常低,post安全性较高。

5、跟是一样的,也就是说,action页面后边带的参数列表会被忽视;而跟是不一样的。

另外

Get请求有如下特性:它会将数据添加到URL中,通过这种方式传递到服务器,通常利用一个问号?代表URL地址的结尾与数据参数的开端,后面的参数每一个数据参数以“名称=值”的形式出现,参数与参数之间利用一个连接符&来区分。

Post请求有如下特性:数据是放在HTTP主体中的,其组织方式不只一种,有&连接方式,也有分割符方式,可隐藏参数,传递大批数据,比较方便。

总而言之:当我们在提交表单的时候我们通常用post方式,当我们要传送一个较大的数据文件时,需要用post。当传递的值只需用参数方式(这个值不大于2KB)的时候,用get方式即可。

所以对于ajax提交两者用法自然就明了了。

扩展知识:

那么如何选择get和post呢?

get请求的目的是给予服务器一些参数,以便从服务器获取列表.例如:list.aspx?page=1,表示获取第一页的数据

  • 如果调用是要检索服务器上的数据则使用get,另外需要注意的是,如果要检索的值会随时间和更新进程的改变而改变,则要在get调用中添加一个随机数或者时间戳,这样后面的调用才不会使用先前的不正确的缓存。与post相比,get更简单也更快,并且在大部分情况下都能用。

post请求的目的是向服务器发送一些参数

  • 无法使用缓存文件(更新服务器上的文件或数据库),使用post

  • 向服务器发送大量数据(post没有数据量限制),使用post

  • 发送包含未知字符的用户输入时,post比get更稳定也更可靠

我们知道get的目的就如同其名字一样是用于获取信息的。它旨在显示出页面上你要阅读的信息。浏览器会缓冲get请求的执行结果,如果同样的get请求再次发出,浏览器就会显示缓冲的结果而不是重新运行整个请求。这一流程不同于浏览器的处理过程,但是它是有意设计成这样,使get调用更有效率。get调用会检索要显示在页面中的数据,数据不会再服务器上被更改,因此重新请求相同数据的时候会得到相同的结果。

post方法应该用于需要更新服务器信息的地方。如某调用要更改保存在服务器上的数据,而从两个同样的post调用返回的结果或许会完全不同,因为第二个post调用的值与第一个的值不相同,这是由于第一个调用已经更新了其中一些值。post调用通常会从服务器上获取响应而不是保持前一个响应的缓存。

get请求

oBtn.onclick = function() {
var xhr = null;
try {
xhr = new XMLHttpRequest();
} catch (e) {
xhr = new ActiveXObject('Microsoft.XMLHTTP');
}
/*
1.缓存 在url?后面连接一个随机数,时间戳
2.乱码 编码encodeURI
*/
xhr.open('get','2.get.php?username='+encodeURI('刘伟')+'&age=30&' + new Date().getTime(),true);
xhr.send();
xhr.onreadystatechange = function() {
if ( xhr.readyState == 4 ) {
if ( xhr.status == 200 ) {
alert( xhr.responseText );
} else {
alert('出错了,Err:' + xhr.status);
}
}
}
}

post请求

oBtn.onclick = function() {
var xhr = null;
try {
xhr = new XMLHttpRequest();
} catch (e) {
xhr = new ActiveXObject('Microsoft.XMLHTTP');
}
xhr.open('post','2.post.php',true);
//post方式,数据放在send()里面作为参数传递
xhr.setRequestHeader('content-type', 'application/x-www-form-urlencoded');//申明发送的数据类型
//post没有缓存问题
//无需编码
xhr.send('username=刘伟&age=30');
xhr.onreadystatechange = function() {
if ( xhr.readyState == 4 ) {
if ( xhr.status == 200 ) {
alert( xhr.responseText );
} else {
alert('出错了,Err:' + xhr.status);
}
}
}
}

到此这篇关于“ajax请求时post和get怎样选,有什么不同”的文章就介绍到这了,感谢各位的阅读,更多相关ajax请求时post和get怎样选,有什么不同内容,欢迎关注群英网络资讯频道,小编将为大家输出更多高质量的实用文章!

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。

相关信息推荐
2022-10-27 18:48:18 
摘要:这篇文章主要介绍了简单解析java方法在调用在内存中的执行过程,文章围绕主题展开详细的内容介绍,具有一定的参考价值,需要的小伙伴可以参考一下
2022-09-24 17:13:16 
摘要:这篇文章介绍了PHP基础用法讲解及phpinfo();演示,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
2022-07-30 17:36:42 
摘要:PHP支持索引数组;索引数组也被称为数值数组,默认情况下由索引号表示,数组的所有元素是由0开始的索引号来表示的,索引数组可以存储数字、字符串或任何对象,可以利用“$array=array("数组元素","数组元素"...);”进行定义索引数组。
云活动
推荐内容
热门关键词
热门信息
群英网络助力开启安全的云计算之旅
立即注册,领取新人大礼包
  • 联系我们
  • 24小时售后:4006784567
  • 24小时TEL :0668-2555666
  • 售前咨询TEL:400-678-4567

  • 官方微信

    官方微信
Copyright  ©  QY  Network  Company  Ltd. All  Rights  Reserved. 2003-2019  群英网络  版权所有   茂名市群英网络有限公司
增值电信经营许可证 : B1.B2-20140078   粤ICP备09006778号
免费拨打  400-678-4567
免费拨打  400-678-4567 免费拨打 400-678-4567 或 0668-2555555
微信公众号
返回顶部
返回顶部 返回顶部