好程序員web前端學習路線分享瞭解AJAX是什麼

好程序員web前端學習路線分享瞭解AJAX是什麼首先是服務器php

什麼是服務器:我們的頁面來源於服務器;實例(在phpnwo上面存放一個頁面),
我們把頁面放在互聯網的服務器上,就有了本身的網站了。前端

1.異步同步程序員

生活中的同步: web

生活中的異步:
圖片描述ajax

在JavaScript語言中,同步和異步的概念恰好相反。json

這JavaScript中同步就是:你不執行完上面的代碼,那麼下面的代碼你就別執行;一步一步執行,這就是同步。後端

異步就是能夠一塊執行的代碼;瀏覽器

進程的概念安全

    進程≠程序服務器

    程序從開始到結束的一次執行過程叫作進程

    一個進程當中,程序同時運行的多個分支,叫作線程

    多線程異步執行,能夠提升程序的效率

AJAX的重要性

在許多數企業看來AJAX的使用熟練程度 === 你的工做經驗。

2.什麼是AJAX

ajax是先後端數據交互的重要手段

Ajax 全稱爲:「Asynchronous JavaScript and XML」(異步 JavaScript 和 XML), 它並非 JavaScript 的一種單一技術,而是利用了一系列交互式網頁應用相關的技術所形 成的結合體。使用 Ajax,咱們能夠無刷新狀態更新頁面,而且實現異步提交,提高了用戶體驗。

一.Ajax 概述

Ajax 這個概念是由 JesseJamesGarrett 在 2005 年發明的。它自己不是單一技術,是一串 技術的集合,主要有:

1.JavaScript,經過用戶或其餘與瀏覽器相關事件捕獲交互行爲

2.XMLHttpRequest 對象,經過這個對象能夠在不中斷其它瀏覽器任務的狀況下向服務 器發送請求;

3.服務器上的文件,以 XML、HTML 或 JSON 格式保存文本數據;

4.其它 JavaScript,解釋來自服務器的數據(好比 PHP 從 MySQL 獲取的數據)並將其 呈現到頁面上。

因爲 Ajax 包含衆多特性,優點與不足也很是明顯。優點主要如下幾點:

1.不須要插件支持(通常瀏覽器且默認開啓 JavaScript 便可);

2.用戶體驗極佳(不刷新頁面便可獲取可更新的數據);

3.提高 Web 程序的性能(在傳遞數據方面作到按需放鬆,沒必要總體提交);

4.減輕服務器和帶寬的負擔(將服務器的一些操做轉移到客戶端);

而 Ajax 的不足由如下幾點:
1.不一樣版本的瀏覽器度 XMLHttpRequest 對象支持度不足(好比 IE5 以前);
2.前進、後退的功能被破壞(由於 Ajax 永遠在當前頁,不會概率先後頁面);
3.搜索引擎的支持度不夠(由於搜索引擎爬蟲還不能理解 JS 引發變化數據的內容);

4.開發調試工具缺少(相對於其餘語言的工具集來講,JS 或 Ajax 調試開發少的可憐) 。

3.AJAX的使用

電話的接打順序:
圖片描述

1.首先要有一個電話;

2.撥號;

3.說話;

4.聽電話另外一邊的信息;

//有一個電話:建立請求對象;

1.var AJAX=new XMLHttpRequest( );

//撥號:設置請求參數;

2.AJAX.open('get','data/test.json',true);

第一個參數:POST||GET

POST和GET的區別

POST是發送數據,GET是接受數據;

PSOT發送數據的安全性較好,而GET較差;

POST發送數據不限制大小,而GET大小受限2~100k。

何時用GET和POST那:在數據獲取時用GET方式,在操做數據時應使用POST方式。

第三個參數:當該boolean值爲true時,服務器請求是異步進行的,也就是腳本執行send()方法後不等待

服務器的執行結果,而是繼續執行腳本代碼;

當該boolean值爲false時,服務器請求是同步進行的,也就是腳本執行send()方法後等待

服務器的執行結果的返回,若在等待過程當中超時,則再也不等待,繼續執行後面的腳本代碼!

  1. ajax.onreadystatechange = function()

    {
        if (ajax.readyState == 4 && ajax.status == 200)
        {
            func_succ(ajax.responseText);
        }
        else
        {
            //alert("ajax faild readyState:"+ajax.readyState+" status:"+ajax.status);
        }
    };
4.ajax.send(null);

ajax.readyStatus

0 - (未初始化)尚未調用send()方法

1 - (載入)已調用send()方法,正在發送請求

2 - (載入完成)send()方法執行完成,已經接收到所有響應內容

3 - (交互)正在解析響應內容

4 - (完成)響應內容解析完成,能夠在客戶端調用了

相關文章
相關標籤/搜索