ajax学习笔记

这两天学了一些关于ajax的,现在先做一下笔记:

首先,ajax是返回用户感兴趣的数据,不需要刷新整个页面。因此,可以不要要form。

然后,一、在jquery中,将数据传送给服务端,或者返回服务器端传回来的数据,可以通过$.get(url,data,callback)和$.post(url,data,callback),其中的callback主要用来处理服务端返回来的数据。当

url中,已经包含要传给服务端的数据,第二个参数就可以不用再传数据,可以直接写为null。

二、在JavaScript中

1、需要针对IE和其他类型的浏览器建立这个对象的不同方式写不同的代码:

var xmlhttp;
if (window.XMLHttpRequest)
  {// 针对IE7+, Firefox, Chrome, Opera, Safari
      xmlhttp=new XMLHttpRequest();
       //针对某些特定版本的mozillar浏览器的BUG进行修正
      if(xmlhttp.overrideMimeType){
            xmlhttp.overrideMimeType("text/xml");
      }
  }
else if(window.ActiveXObject)
  {// 针对 lt IE6
  xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  }

2、注册回调函数:xmlhttp。onreadystatechange = callback;【callback不可以加(),加上之后就会将函数的返回值,就会出错】
3、设置连接信息

   法一:

xmlhttp.open("GET",URL,true);//true表示异步
法二:
xmlhttp.open("POST","ajax_test.asp",true);
xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");

4、发送数据,开始和服务端按进行交互//同步的话要服务端按数据返回来才执行,异步立即执行

xmlhttp.send(null);//get
xmlhttp.send("fname=Bill&lname=Gates");//post

5、回调函数

function callback(){
    //第一个是判断对象是否交互完成,第二个是判断http是否交互完成
   if (xmlhttp.readyState==4 && xmlhttp.status==200) {   
          document.getElementById("myDiv").innerHTML=xmlhttp.responseText;
   }
}

如果有错的,欢迎大家纠正~

原文地址:https://www.cnblogs.com/qzccl/p/5402607.html