1. 谈谈你对 ajax 的认识?
Ajax 是一种创建交互式网页应用的网页开发技术;Asynchronous JavaScript and XML”的缩写。
Ajax 的优势:
通过异步模式,提升了用户体验。
优化了浏览器和服务器之间的传输,减少不必要的数据往返,减少了带宽占用。
Ajax 引擎在客户端运行,承担了一部分本来由服务器承担的工作,从而减少了大用户量下的服务器负载。
Ajax 的最大特点:
可以实现局部刷新,在不更新整个页面的前提下维护数据,提升用户体验度。
注意:
ajax 在 实 际 项 目 开 发 中 使 用 率 非 常 高 ( 牢 固 掌 握 ) 。
2、JSONP原理
JavaScript 是一种在 Web 开发中经常使用的前端动态脚本技术。在 JavaScript 中,有一个很重要的安全性限制, 被称为“Same-Origin Policy”(同源策略)。这一策略对于 JavaScript 代码能够访问的页面内容做了很重要的限制,即 JavaScript 只能访问与包含它的文档在同一域下的内容。
JavaScript 这个安全策略在进行多 iframe 或多窗口编程、以及 Ajax 编程时显得尤为重要。根据这个策略, 在 baidu.com 下的页面中包含的 JavaScript 代码,不能访问在 google.com 域名下的页面内容;甚至不同的子域名之间的页面也不能通过 JavaScript 代码互相访问。对于 Ajax 的影响在于,通过 XMLHttpRequest 实现的Ajax 请求,不能向不同的域提交请求,例如,在 abc.example.com 下的页面,不能向 def.example.com 提交Ajax 请求,等等。
然而,当进行一些比较深入的前端编程的时候,不可避免地需要进行跨域操作,这时候“同源策略”就显得过于苛刻。JSONP 跨域 GET 请求是一个常用的解决方案,下面我们来看一下 JSONP 跨域是如何实现的,并且探讨下JSONP 跨域的原理。
jsonp 的最基本的原理是:动态添加一个
客户端浏览器,解析 script 标签,并执行返回的 javascript 文档,此时数据作为参数,传入到了客户端预先定义好的 callback 函数里。
作者:zhulin1028
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。