4.说说promise的作用, 编码演示promise的基本使用
* 解决回调地狱(回调函数的层层嵌套, 编码是不断向右扩展, 阅读性很差)
var promise = new Promise(function(resolve, reject){
//做异步的操作
if(成功) {
resolve(result);
} else {
reject(errorMsg);
}
})
promise.then(function(
result => console.log(result) ,
errorMsg => alert(errorMsg)
)
https://zccst.iteye.com/blog/2152750 还有1个同类方法encodeURI(),这个功能差点。没有encodeURIComponent强大。都是编码方法。文章看看
面试题: 页面编码和被请求的资源编码如果不一致如何处理?
对于ajax请求传递的参数,如果是get请求方式,参数如果传递中文,在有些浏览器会乱码,不同的浏览器对参数编码的处理方式不同,所以对于get请求的参数需要使用 encodeURIComponent函数对参数进行编码处理,后台开发语言都有相应的解码api。对于post请求不需要进行编码
要想在不同的页面之间传递信息,有以下几种解决方案:
(1) 使用cookie,登录成功后,服务器将用户信息存储到客户端的cookie。这样存在缺点:
① 安全性差,将用户信息存储在本地,很容易被别人找到。
② 服务器每次打开一个网页,都通过网络从客户机读取用户信息,这样浪费带宽,当用户很多,每个用户打开很多网页,会浪费巨大的带宽。
(2) 解决之道:session
Session是服务器端技术,服务器可以为每个用户的浏览器创建一个为其独享的session文件,由于session为用户浏览器独享,所以用户在访问服务器的web资源时,可以把各自的数据放在各自的session中,当用户再去访问服务器中的其他web资源时,其他web资源再从用户各自的session中取出数据为用户服务。
与cookie的最大区别:cookie是放在客户端的,session是放在服务器上的!