博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Get和Post区别
阅读量:5962 次
发布时间:2019-06-19

本文共 1045 字,大约阅读时间需要 3 分钟。

AJAX中的Get和Post区别

1、Get

用Get方式可以传送简单数据,但大小一般限制在1KB下,数据追加到url中发送(http的header传送),也就是说,浏览器将各个表单字段元素及数据按照url参数的格式附加到请求行中的资源路径后面。注意,它是会被客户端的浏览器缓存起来,那么,别人就可以从浏览器的历史记录中,读取到此客户的数据,比如帐号和密码等。因此,在某些情况下,get方法会带来严重的安全性问题。

2、Post

用Post方式传送数据时,浏览器把各表单字段元素及其数据作为http消息的实体内容发送给web服务器,而不是作为url地址的参数进行传递。值得注意的是,使用post方式所传递的数据量要比使用get方式传递的数据量大得多。

总结:

Get:发送数据量小,安全性差。

Post:发送数据量大,安全性好。

*使用get传递参数需要使用encodeURIComponent方法处理参数;

例如:var url="Login.jsp?username=" + encodeURIComponent(username);

*使用post传递时

1、设置header的Context-Type为application/x-www-form-urlencode确保服务器知道实体中有参数变量,通常使用XmlHttpRequest对象中的setRequestHeader("Content-Type","application/x-www-urlencode;")。

例如:_xmlHttpRequest.setRequestHeader("Content-Type","application/x-www-urlencode");

2、参数格式为:名称=值&名称=值。

例如:var url=Login.jsp?userid=201394596&username=Tim&sex=male&age=23;

错误写法:var url=Login.jsp?userid=&username=Tim&sex=male&age=23;

3、参数在send()方法中发送。

例如:_xmlHttpRequest.send(url);//若为get方式,直接使用_xmlHttpRequest.send(null);

 

参考文章:

致谢:感谢rgcyc。

转载于:https://www.cnblogs.com/Tim_Liu/archive/2010/04/07/1705872.html

你可能感兴趣的文章
关于多线程中使用SendMessage
查看>>
【云栖大会】阿里云移动云Apsara Mobile重磅发布 推出Cloud Native App全新研发范式...
查看>>
【PMP】Head First PMP 学习笔记 第九章 人力资源管理
查看>>
2015年末必备前端工具集
查看>>
【Solidity】8. 杂项 - 深入理解Solidity
查看>>
关于在VS2005中编写DLL遇到 C4251 警告的解决办法
查看>>
Go语言大神亲述:历七劫方可成为程序员!
查看>>
用友优普发布企业空间2.0 助推企业互联网+
查看>>
文思海辉:大数据发展—源于创新、服务于创新
查看>>
中产委廖明:给中国制造转型的三点建议
查看>>
记一场为未来就绪的企业客户峰会
查看>>
5G来了 中国移动将孵化各种垂直应用 实现万物互联
查看>>
Fortinet为企业提出应对APT攻击的一些建议
查看>>
使用Disk2VHD进行P2V转换需要知道的一些事
查看>>
PHP图片处理库Grafika详细教程(2):图像特效处理模块
查看>>
LXD 2.0 系列(八):LXD中的LXD
查看>>
安装WMware 在Windows平台下学习Linux
查看>>
NodeJS对于Java开发者而言是什么?
查看>>
2016 软件开发的七大趋势:容器技术将统治世界
查看>>
IDC:2020年企业将在网络安全上花费1016亿美元
查看>>