发表于: 2021-05-15 23:39:24

1 1780


今天完成的事情:JS   Ajax的了解使用;异步编程


明天计划的事情:学习资料:HTTP协议;nginx 反向代理 垮域;Ajax


遇到的问题:HTTP协议没看懂;进行与后端交汇方法完全有点懵,具体还不知道怎么下手。


收获:

AJAX 为 JavaScript 脚本发起 HTTP 通信的代名词,只要用脚本发起通信,就可以叫做 AJAX 通信。

AJAX = Asynchronous JavaScript and XML(异步的 JavaScript 和 XML)。
AJAX 不是新的编程语言,而是一种使用现有标准的新方法。
AJAX 最大的优点是在不重新加载整个页面的情况下,可以与服务器交换数据并更新部分网页内容。
AJAX 不需要任何浏览器插件,但需要用户允许JavaScript在浏览器上执行。
AJAX 包括以下几个步骤:
创建 XMLHttpRequest 实例
发出 HTTP 请求
接收服务器传回的数据

更新网页数据


AJAX 通过原生的XMLHttpRequest对象发出 HTTP 请求,得到服务器返回的数据后,再进行处理。服务器返回的都是 JSON 格式的数据。XMLHttpRequest对象是 AJAX 的主要接口,用于浏览器与服务器之间的通信。尽管名字里面有XMLHttp,它实际上可以使用多种协议(比如fileftp),发送任何格式的数据(包括字符串和二进制)。XMLHttpRequest是一个构造函数,可以使用new命令生成实例。它没有任何参数。

xhr.open('GET', 'http://www.example.com/page.php', true);

上面代码向指定的服务器网址,发出 GET 请求。然后,指定回调函数,监听通信状态(readyState属性)的变化

XMLHttpRequest对象简单用法例子:

var xhr = new XMLHttpRequest();
xhr.onreadystatechange = function () {
    // 通信成功时,状态值为4  
    if (xhr.readyState === 4) {
        if (xhr.status === 200) {
            console.log(xhr.responseText);
        }
        else {
            console.error(xhr.statusText);
        }
    }
};
xhr.onerror = function (e) {
    console.error(xhr.statusText);
}; xhr.open('GET''/endpoint'true);
xhr.send(null);


异步的概念:

异步(Asynchronous, async)是与同步(Synchronous, sync)相对的概念。

传统单线程编程中,程序的运行是同步的(同步不意味着所有步骤同时运行,而是指步骤在一个控制流序列中按顺序执行)。

而异步的概念则是不保证同步的概念,也就是说,一个异步过程的执行将不再与原有的序列有顺序关系。

简单来理解就是:同步按你的代码顺序执行,异步不按照代码顺序执行,异步的执行效率更高。





返回列表 返回列表
评论

    分享到