zoukankan      html  css  js  c++  java
  • 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;
       }
    }

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

  • 相关阅读:
    Neo4j
    linux系统中如何建立与删除软连接(方便快捷使用,大量节约时间)
    eclipse/myeclipse 中,如何删除已经下载过的插件(举例:删除scala ide)
    dayday up
    元类
    sort和sorted
    反射
    继承派生
    property
    python3.5和3.6区别
  • 原文地址:https://www.cnblogs.com/qzccl/p/5402607.html
Copyright © 2011-2022 走看看