• ajax


    是运用javaScript技术和可扩展语言(xml)实现浏览器与服务器通信的一种技术。实现浏览器与服务器异步交互的技术,用户的请求不需要刷新整个页面,只需要刷新局部页面即可

    主要涉及xhtml和css构建标准化的展示层,使用dom进行显示和交互,使用xml和xslt进行数据交换和操作,使用xmlHttpRequest异步获取数据,使用javaScript将所有元素绑定在一起,其中xmlHttpRequest对象是ajax核心技术之一,在ajax中,通过这个对象实现与服务器锻的通信。这个对象由javaScript创建,在不同浏览器中有不同的创建方法,但创建方法后,其使用方法是相同的

    1 xmlHttpRequest对象的创建。

      为了能成功创建其对象,需要针对不同浏览器创建。

    var xmlHttpRequest = null;//声名对象
    if(window.XMLHttpReuest){
        xmlHttpRequest = new XMLHttpRequest();
    }
    else if(window.ActiveXObject) {
        try{
            xmlHttpRequest = new ActiveXObject(Msxml2.XMLHTTP);//针对ie比较新的版本
        }catch (e) {
            try {
                xmlHttpRequest = new ActiveXObject(Microsoft.XMLHTTP);
            }catch(e) {}
        }
    }

    其对象创建后,就可以对该对象进行各种操作,从而完成与服务器的通信。常用属性和方法如下

    1)open(string request-type,string url,Boolean asynch,string name,string password)

    用于建立到服务器的连接,其参数含义如下

    request-tpe:发送请求的类型。该参数取值为get或post或head方法。要特别注意参数汉字乱码的问题

    url:要连接的服务器的url

    asynch:若使用异步连接则为true,否则为false。参数可选 默认为true

    username:若需要身份验证,则在次指定用户名

    password:若需要身份验证,在此指定口令,通常使用前三个方法

    2)send(String content)方法 该方法向服务器发送请求。参数content为发送的内容

    3)setRequestHeader(string label,string value)该方法在发送请求前,先设置请求头

    若在open方法中使用的request-type为“post”,则需要设置请求头

    xmlHttpRequest.setRequestHeader("Content-type","application/x-www-form-urlencoded");

    4)readState属性 提供当前html就绪状态,用于确定该请求是否开始、是否得到了响应或者请求/响应模型是否已经完成。它还可以帮助确定读取服务器提供的响应文本或数据是否安全。在ajax程序中5中就绪状态如下

    0:请求未发出(在调用open之前)

    1:请求建立但未发出(调用send之前)

    2:请求已经发出正在处理中(通常可以从响应得到内容头部)

    3:请求已经处理,响应中有部分数据可用,但是服务器还未完成响应

    4:响应完成,可以访问服务器响应并使用它

    对于ajax编程,需要直接处理的唯一状态就是就绪状态4,它表示服务器响应已经完成,可以安全地使用响应数据了。

    待续。。。

  • 相关阅读:
    (转)我是一个小线程
    Gson本地和服务器环境不同遇到的Date转换问题 Failed to parse date []: Invalid time zone indicator
    Bigdecimal 比较equals与compareTo
    springboot jpa mongodb 多条件分页查询
    springboot Consider defining a bean of type 'xxx' in your configuration
    mongodb you can't add a second
    java8 获取某天最大(23:59:59)和最小时间(00:00:00)
    java volatile详解
    SpringBoot dubbo之class is not visible from class loader
    springboot dubbo filter之依赖注入null
  • 原文地址:https://www.cnblogs.com/gride-glory/p/7862615.html
Copyright © 2020-2023  润新知