Ajax详解

1、什么是Ajax和JSON,它们的优缺点

Ajax是全称是asynchronous JavaScript andXML,即异步JavaScript和xml,用于在Web页面中实现异步数据交互,实现页面局部刷新

优点:可以实现异步通信效果,页面局部刷新,带来更好的用户体验

JSON是一种轻量级的数据交换格式,看着像对象,本质是字符串

优点:轻量级、易于人的阅读和编写,便于js解析,支持复合数据类型

2、ajax的交互流程有哪几步?

1.var xhl=new XMLHttpRequest() //创建新的XMLHttpRequest对象

2.xhr.open(method,url,async)//规定请求地址

3.xhr.onload///等待服务器响应

4.xhl.send()//向服务器发送请求

3、简述ajax的优缺点

  优点:

  1)无刷新更新数据(在不刷新整个页面的情况下维持与服务器通信)

  2)异步与服务器通信(使用异步的方式与服务器通信,不打断用户的操作)

  3)前端和后端负载均衡(将一些后端的工作交给前端,减少服务器与宽度的负担)

  4)界面和应用相分离(ajax将界面和应用分离也就是数据与呈现相分离)

  缺点:

  1)ajax不支持浏览器back按钮

  2)安全问题 Aajax暴露了与服务器交互的细节

  3)对搜索引擎的支持比较弱

  4)破坏了Back与History后退按钮的正常行为等浏览器机制

4、get与post的区别,什么时候使用post?

  get和post在HTTP中都代表着请求数据,其中get请求相对来说更简单、快速,效率高些

  get相对post安全性低

  get有缓存,post没有

  get体积小,post可以无限大

  get的url参数可见,post不可见

  get只接受ASCII字符的参数数据类型,post没有限制

  get请求参数会保留历史记录,post中参数不会保留

  get会被浏览器主动catch,post不会,需要手动设置

  get在浏览器回退时无害,post会再次提交请求

  post一般用于修改服务器上的资源,对所发送的信息没有限制。比如

  1. 无法使用缓存文件(更新服务器上的文件或数据库)
  2. 向服务器发送大量数据(POST 没有数据量限制)
  3. 发送包含未知字符的用户输入时,POST 比 GET 更稳定也更可靠

5、介绍一下XMLHttpRequest对象,他有哪些常用方法和属性

  XMLHttpRequest是ajax的核心,通过XMLHttpRequest对象,Web开发人员可以在页面加载以后进行页面的局部更新

  常用的方法:

  open(get/post,url,是否异步)创建http请求

  send()发送请求给服务器

  setRequestHeader()设置头信息(使用post才会用到,get并不需要调用该方法)

  常用的属性:

  onreadystatechange 用于监听ajax的工作状态(readyState变化时会调用此方法)

  readyState 用来存放XMLHttpRequest的状态

  status 服务器返回的状态码

  responseText 服务器返回的文本内容

 

6、说下readyState属性是干嘛的,都有哪几个状态

  readyState属性用来存放XMLHttpRequest的状态,监听从0-4发生不同的变化

  0:请求未初始化(此时还没有调用open)

  1:服务器连接已建立,已经发送请求开始监听

  2:请求已接收,已经收到服务器返回的内容

  3:请求处理中,解析服务器响应内容

  4:请求已完成,且响应就绪

7、如何解决跨域问题?

  跨域的概念:协议、域名、端口都相同才同域,否则都是跨域

  解决跨域问题:

  1)使用JSONP(json+padding)把数据内填充起来

  2)CORS方式(跨域资源共享),在后端上配置可跨域

  3)服务器代理,通过服务器的文件能访问第三方资源

8.HTTP状态码
    200 用来表示请求成功.
    300 来表示重定向.
    400 用来表示请求出现问题.
    500 用来表示服务器出现问题.

    200 成功 (OK)
    404 没有找到 (Not Found)
    401 未经授权 (Unauthorized)
    受密码保护的页面会返回这个状态。
    403 被禁止(Forbidden)
    如果你没有权限访问某个页面,那么就会返回403状态。这种情况通常会发生在你试图打开一个       没有index页面的文件夹。如果服务器设置不允许查看目录内容,那么你就会看到403错误。
     500 服务器错误(Internal Server Error)
     503 - 服务器超时

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值