這篇文章將為大家詳細講解有關(guān)Ajax如何實現(xiàn)異步請求技術(shù),小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
站在用戶的角度思考問題,與客戶深入溝通,找到平順網(wǎng)站設(shè)計與平順網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗,讓設(shè)計與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個性化、用戶體驗好的作品,建站類型包括:做網(wǎng)站、網(wǎng)站制作、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣、域名注冊、網(wǎng)站空間、企業(yè)郵箱。業(yè)務覆蓋平順地區(qū)。
AJAX的全稱是Asynchronous JavaScript and XML(異步的 JavaScript 和 XML)。
AJAX不是新的編程語言,而是一種使用現(xiàn)有標準的新方法。ajax是與服務器交換數(shù)據(jù)并更新部分網(wǎng)頁的藝術(shù),在不重新加載整個頁面的情況下。
ajax是一種在無需重新加載整個網(wǎng)頁的情況下,能夠更新部分網(wǎng)頁的技術(shù)。
ajax是一種用于創(chuàng)建快速動態(tài)網(wǎng)頁的技術(shù)。通過在后臺與服務器進行少量數(shù)據(jù)交換。ajax可以使網(wǎng)頁實現(xiàn)異步更新。這意味著可以在不重新加載整個網(wǎng)頁的情況下,對網(wǎng)頁的某部分進行更新。而傳統(tǒng)的網(wǎng)頁(不使用ajax)如果需要更新內(nèi)容,必須重載整個網(wǎng)頁面。
在Web應用開發(fā)過程中,業(yè)界對前后端的分界線似乎一直都沒有確定的概念,不過大多數(shù)人以瀏覽器作為前后端的分界線。將瀏覽器中為用戶進行頁面展示的部分稱為前端,而將運行于服務器,為前端提供業(yè)務邏輯和數(shù)據(jù)準備的所有代碼統(tǒng)稱為后端。
雖然前后端分離在數(shù)年前就已經(jīng)開始受到關(guān)注,但很多人對它卻是只聞其聲,未見其形,所以對它產(chǎn)生了一些誤解,誤以為前后段分離只是一種Web應用的開發(fā)模式,只要在Web應用的開發(fā)期進行了前后端開發(fā)工作的分工就是前后端分離。
其實并非如此,準確的說,前后端分離并不只是開發(fā)模式,而是Web應用的一種架構(gòu)模式。在開發(fā)期,前后端工程師可以通過約定好交互接口,實現(xiàn)并行開發(fā);在運行期,前后端分離模式需要對Web應用進行分離部署,前后端之間使用HTTP請求進行交互。
一、JSON解析
JSON(JavaScript Object Notation) 是一種輕量級的數(shù)據(jù)交換格式。JSON采用完全獨立于語言的文本格式,這些特性使JSON成為理想的數(shù)據(jù)交換語言。易于人閱讀和編寫,同時也易于機器解析和生成。簡單地說,JSON 可以將 JavaScript 對象中表示的一組數(shù)據(jù)轉(zhuǎn)換為字符串,然后就可以在函數(shù)之間輕松地傳遞這個字符串,或者在異步應用程序中將字符串從 Web 客戶機傳遞給服務器端程序。
二、Ajax接口調(diào)用
前后端分離意味著,前后端之間使用 JSON 來交流,兩個開發(fā)團隊之間使用 API 作為契約進行交互, 通過JSON字符串,然后在異步應用程序中將字符串從 Web 客戶機傳遞給服務器端程序。這部分學習的就是如何從前臺向后臺發(fā)起一個Ajax請求,最后得到服務器返回的數(shù)據(jù)響應之后,進行前端頁面的更新。
三、php后臺
PHP是一種流行的通用腳本語言,特別適合于web開發(fā)。php語言具有以下特點:
1、跨平臺,性能優(yōu)越,和很多免費的平臺結(jié)合非常省錢,比如LAMP(Linux /Apache/MySQL/PHP)或者FAMP(FreeBSD/Apache/Mysql/PHP)結(jié)合,或者數(shù)據(jù)應用夠大可以考慮換 PostgreSQL或者Oracle,支持N種數(shù)據(jù)庫。(N >= 10)
2、語法簡單,如果有學習C和Perl的很容易上手,并且跟ASP有部分類似。有成熟的開發(fā)工具,比如NuPHPed,或者Zend Studio等等,再Linux平臺下可以使用Eclipse等等。
3、目前主流技術(shù)都支持,比如WebService、Ajax、XML等等,足夠應用。
4、有很多成熟的框架,比如支持MVC的框架:phpMVC,支持類似ASP.net的事件驅(qū)動的框架:Prado,支持類似Ruby On Rails的快速開發(fā)的框架:Cake等等,足夠滿足你的應用需求。
5、PHP 5已經(jīng)有成熟的面向?qū)ο篌w系,能夠適應基本的面向?qū)ο笠蟆_m合開發(fā)大型項目。
這部分主要學習的如何搭建一個php服務器,掌握PHP的基本語法,通過php生成一個動態(tài)網(wǎng)頁,掌握如何使用php完成一個標準化的接口,最終返回JSON數(shù)據(jù)給前臺。
四、數(shù)據(jù)庫
數(shù)據(jù)庫(Database)是按照數(shù)據(jù)結(jié)構(gòu)來組織、存儲和管理數(shù)據(jù)的倉庫,每個數(shù)據(jù)庫都有一個或多個不同的API用于創(chuàng)建,訪問,管理,搜索和復制 所保存的數(shù)據(jù)。我們也可以將數(shù)據(jù)存儲在文件中,但是在文件中讀寫數(shù)據(jù)速度相對較慢。
MySQL是一個關(guān)系型數(shù)據(jù)庫管理系統(tǒng),由瑞典MySQL AB公司開發(fā),目前屬于Oracle公司。MySQL是一種關(guān)聯(lián)數(shù)據(jù)庫管理系統(tǒng),關(guān)聯(lián)數(shù)據(jù)庫將數(shù)據(jù)保存在 不同的表中,而不是將所有數(shù)據(jù)放在一個大倉庫內(nèi),這樣就增加了速度并提高了靈活性。
? Mysql是開源的,所以你不需要支付額外的費用。
? Mysql支持大型的數(shù)據(jù)庫??梢蕴幚頁碛猩锨f條記錄的大型數(shù)據(jù)庫。
? MySQL使用標準的SQL數(shù)據(jù)語言形式。
? Mysql可以允許于多個系統(tǒng)上,并且支持多種語言。這些編程語言包括C、C++、Python、Java、Perl、PHP、Eiffel、Ruby和Tcl等。
? Mysql對PHP有很好的支持,PHP是目前最流行的Web開發(fā)語言。
? MySQL支持大型數(shù)據(jù)庫,支持5000萬條記錄的數(shù)據(jù)倉庫,32位系統(tǒng)表文件最大可支持4GB,64位系統(tǒng)支持最大的表文件為8TB。
這部分主要學習的是數(shù)據(jù)中的增刪改查操作,最后通過php訪問數(shù)據(jù)中的數(shù)據(jù),然后通過響應的處理,發(fā)揮給前臺使用。
五、Ajax跨域
由于在工作中需要使用AJAX請求其他域名下的請求,但是會出現(xiàn)拒絕訪問的情況,這是因為基于安全的考慮,AJAX只能訪問本地的資源,而不能跨域訪問。
解決方式一:
“XHR2” 全稱 “XMLHttpRequest Level2” 是HTML5提供的方法,對跨域訪問提供了很好的支持,并且還有一些新的功能。
* IE10以下的版本都不支持
* 只需要在服務器端頭部加上下面兩句代碼:
header( "Access-Control-Allow-Origin:*" ); header( "Access-Control-Allow-Methods:POST,GET" );
解決方式二:
JSONP(JSON with Padding)是一個非官方的協(xié)議,它允許在服務器端集成Script tags返回至客戶端,通過javascript callback的形式實現(xiàn)跨域訪問(這僅僅是JSONP簡單的實現(xiàn)形式)。
由于同源策略的限制,XmlHttpRequest只允許請求當前源(域名、協(xié)議、端口)的資源,為了實現(xiàn)跨域請求,可以通過script標簽實現(xiàn)跨域請求,然后在服務端輸出JSON數(shù)據(jù)并執(zhí)行回調(diào)函數(shù),從而解決了跨域的數(shù)據(jù)請求。
關(guān)于“Ajax如何實現(xiàn)異步請求技術(shù)”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。