简述 ajax中 get和post的区别
1.使用Get请求时,参数在URL中显示,而使用Post方式,则不会显示出来
2.使用Get请求发送数据量小,Post请求发送数据量大
GET请求时 URL需要添加参数,以求每次访问不同的url,以避免缓存问题
发送xmlHttp.send(null); get请求发送参数为null
post 请求 不需要担心缓存
xmlHttp.open("post", "Server.aspx", true);
var data = "username=" + encodeURIComponent(username) + "&age=" + encodeURIComponent(age);
xmlHttp.send(data);
ajax通过xmlhttprequest请求服务器实现异步调用,使用javascript来进行绑定和调用的,使用CSS和XHTML来表示。使用DOM模型来交互和动态显示。
所以大部分浏览器都是支持ajax异步调用的,在使用ajax时页面数据只需要局部数据更新,无需刷新,会很大幅度的提高性能与用户体验,并且在服务器端和客户端中间有缓冲层,能利用客户端闲暇时间工作 减轻服务器端的压力,基于标准化的并被广泛支持的技术,不需要下载插件或者小程序,其他的js引用
但是ajax获取数据后不能使用浏览器的后退键重新回滚到之前的数据,还有有一些安全问题
html中的domain属性可以使不同域例如a.text.com和b.text.com设置为text.com 所以只需要在任意一个*.test.com的子网站下发现漏洞就可以在攻击所有网站
json与jsonp最大的区别就是json不能进行跨域请求,json与jsonp的区别更像是暗号和交流暗号手段的区别,json数据格式是一种javascript的数组格式,因为浏览器都支持所以作为普遍的数据交流格式,其中的{}[]都是javascript中的数组格式要求,使用jsonp能自动解析在success中返回请求的url中接口返回的字段 在使用json或jsonp的时候可以将数据转换成数组、字符串、json 根据实际需求进行互相转换。在调用接口的时候要在方法前面设置签名,不然无法调用接口