• 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; } }
  • 相关阅读:
    UVA12206 Stammering Aliens 【SAM 或 二分 + hash】
    字符串hash
    BZOJ1064 [Noi2008]假面舞会 【dfs】
    BZOJ2333 [SCOI2011]棘手的操作 【离线 + 线段树】
    BZOJ1499 [NOI2005]瑰丽华尔兹 【单调队列优化dp】
    BZOJ3343 & 洛谷2801:教主的魔法——题解
    BZOJ2821:作诗——题解
    BZOJ2724:[Violet 6]蒲公英——题解
    BZOJ2653:middle——题解
    BZOJ2588:Count on a tree——题解
  • 原文地址:https://www.cnblogs.com/xiaoliwang/p/9261465.html
Copyright © 2020-2023  润新知