zoukankan      html  css  js  c++  java
  • Ajax 的概念及过程?Ajax 的交互模型?同步和异步的区别?如何解决跨域问题?

    Ajax 是什么:

    1)  通过异步模式,提升了用户体验

    2)  优化了浏览器和服务器之间的传输,减少不必要的数据往返,减少了带宽占用

    3)  Ajax 在客户端运行,承担了一部分本来由服务器承担的工作,减少了大用户量下的服务器负载。

    Ajax 的过程:

    1)  创建XMLHttpRequest对象,也就是创建一个异步调用对象

    2)  创建一个新的HTTP请求,并指定该HTTP请求的方法、URL及验证信息

    3)  设置响应HTTP请求状态变化的函数

    4)  发送HTTP请求

    5)  获取异步调用返回的数据

    6)  使用JavaScript和DOM实现局部刷新

    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.name、window.postMessage

    4)  服务器上设置代理页面

  • 相关阅读:
    面试后的一些思考
    NEW关键字的三种用法
    关于反射的初步介绍
    REF和OUT关键字的介绍
    关于WPF中TextBox行的选择与显示的问题
    资源字典——程序集之间的资源共享
    rsync 实现断点续传
    CentOS 7 安装 Git
    使用 docker 拉取镜像和创建容器-nginx
    docker安装 之 ---CentOS 7 系统脚本自动安装
  • 原文地址:https://www.cnblogs.com/SHERO-Vae/p/5795956.html
Copyright © 2011-2022 走看看