前端面试题总结【48】:Ajax 是什么?Ajax 的交互模型?同步和异步的区别?如何解决跨域问题?

Ajax 是什么:

  1. 通过异步模式,提升了用户体验
  2. 优化了浏览器和服务器之间的传输,减少不必要的数据往返,减少了带宽占用
  3. Ajax 在客户端运行,承担了一部分本来由服务器承担的工作,减少了大用户量下的服务器负载。

Ajax 的最大的特点:

  1. Ajax可以实现动态不刷新(局部刷新)
  2. readyState 属性 状态 有5个可取值: 0 = 未初始化,1 = 启动, 2 = 发送,3 = 接收,4 = 完成

Ajax 同步和异步的区别:

  1. 同步:提交请求 -> 等待服务器处理 -> 处理完毕返回,这个期间客户端浏览器不能干任何事
  2. 异步:请求通过事件触发 -> 服务器处理(这是浏览器仍然可以作其他事情)-> 处理完毕
    ajax.open方法中,第3个参数是设同步或者异步。

Ajax 的缺点:

  1. Ajax 不支持浏览器 back 按钮
  2. 安全问题 Ajax 暴露了与服务器交互的细节
  3. 对搜索引擎的支持比较弱
  4. 破坏了程序的异常机制
  5. 不容易调试

解决跨域问题:

  1. jsonp
  2. iframe
  3. window.namewindow.postMessage
  4. 服务器上设置代理页面

推荐:

  • 持续更新,致力于做一个持久的搬运工!
  • 下面是已经整理好的面试题PDF获取和相关进阶学习书籍资料地址,有需求戳一下
  • 2020前端面试题总结合集
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容