• ajax


    什么是 AJAX ?

    AJAX = 异步 JavaScript 和 XML。

    AJAX 是一种用于创建快速动态网页的技术。

    通过在后台与服务器进行少量数据交换,AJAX 可以使网页实现异步更新。这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。

    传统的网页(不使用 AJAX)如果需要更新内容,必需重载整个网页面。

    有很多使用 AJAX 的应用程序案例:新浪微博、Google 地图、开心网等等。

    AJAX是基于现有的Internet标准

    AJAX是基于现有的Internet标准,并且联合使用它们:

    • XMLHttpRequest 对象 (异步的与服务器交换数据)
    • JavaScript/DOM (信息显示/交互)
    • CSS (给数据定义样式)
    • XML (作为转换数据的格式)

    lamp  AJAX应用程序与浏览器和平台无关的!

    5.XHR对象:

    AJAX - 创建 XMLHttpRequest 对象


    XMLHttpRequest 是 AJAX 的基础。

     

    6.

    向服务器发送请求

    如需将请求发送到服务器,我们使用 XMLHttpRequest 对象的 open() 和 send() 方法:

    xmlhttp.open("GET","ajax_info.txt",true);
    xmlhttp.send();

     

    方法描述
    open(method,url,async)

    规定请求的类型、URL 以及是否异步处理请求。

    • method:请求的类型;GET 或 POST
    • url:文件在服务器上的位置
    • async:true(异步)或 false(同步)
    send(string)

    将请求发送到服务器。

    • string:仅用于 POST 请求

     


    GET 还是 POST?

    与 POST 相比,GET 更简单也更快,并且在大部分情况下都能用。

    然而,在以下情况中,请使用 POST 请求:

      • 无法使用缓存文件(更新服务器上的文件或数据库)
      • 向服务器发送大量数据(POST 没有数据量限制)
      • 发送包含未知字符的用户输入时,POST 比 GET 更稳定也更可靠
        • GET 请求

          一个简单的 GET 请求:

          实例

          xmlhttp.open("GET","/try/ajax/demo_get.php",true); xmlhttp.send();

          尝试一下 »

          在上面的例子中,您可能得到的是缓存的结果。

          为了避免这种情况,请向 URL 添加一个唯一的 ID:

          实例

          xmlhttp.open("GET","/try/ajax/demo_get.php?t=" + Math.random(),true); xmlhttp.send();

          尝试一下 »

          如果您希望通过 GET 方法发送信息,请向 URL 添加信息:

          实例

          xmlhttp.open("GET","/try/ajax/demo_get2.php?fname=Henry&lname=Ford",true); xmlhttp.send();
           
           
          10.

          POST 请求

          一个简单 POST 请求:

          实例

          xmlhttp.open("POST","/try/ajax/demo_post.php",true); xmlhttp.send();

          尝试一下 »

          如果需要像 HTML 表单那样 POST 数据,请使用 setRequestHeader() 来添加 HTTP 头。然后在 send() 方法中规定您希望发送的数据:

          实例

          xmlhttp.open("POST","/try/ajax/demo_post2.php",true); xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded"); xmlhttp.send("fname=Henry&lname=Ford");
  • 相关阅读:
    支付包接口支付缓存问题
    vue多层弹框时存在遮挡应如何解决
    P1520 因式分解 题解
    观测概率为多维高斯分布时对两(多)类MAP决策边界的分析
    关于因数个数的估计
    使用ITTP_Stream显示图像
    linux某个目录没有可执行权限
    linux ldd命令
    注意力机制
    transformer
  • 原文地址:https://www.cnblogs.com/panxuejun/p/6045489.html
Copyright © 2020-2023  润新知