ajax基础

作者: GeorgeMR | 来源:发表于2018-02-20 12:00 被阅读0次

概述

Asynchronous JavaScript and XML,异步传输无刷新技术。
提高用户体验的技术。
“异步”地实现无刷新处理

应用场景

  • 百度搜索提示
    在搜索文本框中输入要搜索的关键字时,下方会自动给出提示。
  • 用户注册
    如果用户名已被注册,会在用户名文本框后面提示。

异步交互与同步交互

  • 同步
    发送一个请求之后,等待服务器的响应结束后才能作出下一步处理,发送请求后会刷新整个页面
  • 异步
    发送一个请求之后,不用等待服务器的响应,即可作出下一步处理,可实现局部刷新

XMLHttpRequest对象

Ajax的核心内容。XMLHttpRequest对象用于在后台与服务器交换数据。

创建XMLHttpRequest对象

由于在IE7以前的版本使用名为XMLHttp的对象,所以需要考虑兼容问题。

var xmlhttp = false;
function createXMLHttp() {
    try {
        xmlhttp = new XMLHttpRequest();
    } catch (e) {
         try {
            xmlhttp = new ActiveXObject("Msxm12.XMLHttp");
        } catch(e) {
            try {
                xmlhttp = new ActiveXObject("Microsoft.XMLHttp");   
            } catch (failed) {
                xmlhttp = false;
            }
        }
    }
    return xmlhttp;
}

XMLHttpRequest的方法

  • open(method,url,async):规定请求的类型,URL以及是否异步处理请求
  • abort():取消当前请求
  • getAllRequestHeaders():返回为解析的响应头
  • send(String):发送HTTP请求

XMLHttpRequest对象的属性

readyState:HTTP请求的状态
  • 0:请求未初始化
  • 1:请求连接已建立
  • 2:请求已接收
  • 3:请求处理中
  • 4:请求已完成,且相应已就绪

responseText:到当前为止服务器接收到的响应体(不包含响应头)
responseXML:对请求的响应,解析为XML并作为Document对象返回
status:由服务器返回的HTTP状态代码

XMLHttpRequest对象的事件句柄函数

当请求发送到服务器时,我们需要执行一些基于响应的任务
事件onreadystatechange是每次readyState属性改变的时候调用的事假处理函数。

xmlhttp.onreadystatechange = function() {
    if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
        //处理事件
    }
}

Ajax操作

  • 得到XMLHttpRequest对象
  • 打开与服务器的连接
    XMLHttpRequest.open(method,url,async)
  • 发送请求 XMLHttpRequest.send(请求体/null)
    注册监听器:XMLHttpRequest.onreadystatechange
  • 得到响应

相关文章

  • face14ajax基础内容

    ajax基础内容 ajax技术利用了 什么协议?简述ajax的工作机制 写出jquery中,可以处理ajax的几种...

  • AJAX简易封装(四步)

    最基础的ajax封装如下:

  • ajax配置信息

    基础的ajax配置信息

  • 2019-02-14day9学习总结

    修改标签的层次 Ajax基础

  • AJAX基础及原理

    AJAX基础知识 什么是AJAX?async javascript and xml, 异步的JS和XML XML:...

  • Web前端-Ajax基础技术(下)

    Web前端-Ajax基础技术(下) 你要明白ajax是什么,怎么使用? ajax,web程序是将信息放入公共的服务...

  • 前端基础搬运工-Ajax模块

    七、Ajax模块 基础部分 1. ajax是什么? - [ ] Ajax并不算是一种新的技术,全称是asychr...

  • AJax基础

    什么是Ajax Ajax是用JavaScript执行异步网络请求,请求是异步执行的,也就是说,要通过回调函数获得响...

  • ajax基础

    基本格式 get 发送数据在 xhr.open('post','testlog.php?name='+this.v...

  • ajax基础

    概述 Asynchronous JavaScript and XML,异步传输无刷新技术。提高用户体验的技术。“异...

网友评论

    本文标题:ajax基础

    本文链接:https://www.haomeiwen.com/subject/gzcgtftx.html