Ajax 要点

Ajax 全称为“Asynchronous JavaScript and XML”(异步JavaScript和XML)

Ajax的实现是基于 xmlHttp对象 异步发送请求

XMLHttpRequest是ajax的核心机制,它是在IE5中首先引入的,是一种支持异步请求的技术。简单的说,也就是javascript可以及时向服务器提出请求和处理响应,而不阻塞用户。达到无刷新的效果。


  XMLHttpRequest对象主要属性:

  onreadystatechange  每次状态改变所触发事件的事件处理程序。

  responseText     从服务器进程返回数据的字符串形式。

  responseXML    从服务器进程返回的DOM兼容的文档数据对象。

  status           从服务器返回的数字代码,比如常见的404(未找到)和200(已就绪)

  status Text       伴随状态码的字符串信息

  readyState       对象状态值

  XMLHttpRequest对象主要方法:

  open("method","URL")    建立对服务器的调用。method参数可以是GET、POST或PUT。url参数可以是相对URL或绝对URL

  setRequestHeader ( )   把指定首部设置为所提供的值。在设置任何首部之前必须先调用open()。设置header并和请求一起发送 ('post'方法一定要 )

  send ( content )     向服务器发送请求,Get请求不需要设置content


JS原生发送Ajax get请求

function testGet() {
    var fname = document.getElementById("testGetName").value;
  //添加请求参数 xmlhttp
.open("GET", "Test.ashx?fname=" + fname + "&random=" + Math.random() , true); xmlhttp.onreadystatechange = callback; xmlhttp.send(null); }

JS原生发送Ajax Post请求

function testPost() {
    var fname = document.getElementById("testPostName").value;
    xmlhttp.open("POST", "Test.ashx?"  + "&random=" + Math.random() , true);
    //设置请求头
    xmlhttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded;charset=UTF-8");
    xmlhttp.onreadystatechange = callback;
    //设置请求体
    xmlhttp.send("fname="+fname);
}

回调函数

function callback() {
    //readyState 状态码 4 表示请求已完成
    //status 状态200 表示请求数据成功
    if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
    //返回的数据在 xmlHttp.responseText中保存 document
.getElementById("myDiv").innerHTML = xmlhttp.responseText; } }
原文地址:https://www.cnblogs.com/xiaoliwang/p/9261465.html