濮阳杆衣贸易有限公司

主頁(yè) > 知識(shí)庫(kù) > Ajax異步請(qǐng)求技術(shù)實(shí)例講解

Ajax異步請(qǐng)求技術(shù)實(shí)例講解

熱門標(biāo)簽:立陶宛地圖標(biāo)注 怎樣在地圖標(biāo)注文字 河間市地圖標(biāo)注app 大眾點(diǎn)評(píng)400電話怎么申請(qǐng) 電銷機(jī)器人 長(zhǎng)春 地圖標(biāo)注推銷坑人 上海企業(yè)外呼系統(tǒng)價(jià)錢 東平縣地圖標(biāo)注app 中國(guó)地圖標(biāo)注不明確情況介紹表

AJAX的全稱是Asynchronous JavaScript and XML(異步的 JavaScript 和 XML)。

AJAX不是新的編程語(yǔ)言,而是一種使用現(xiàn)有標(biāo)準(zhǔn)的新方法。ajax是與服務(wù)器交換數(shù)據(jù)并更新部分網(wǎng)頁(yè)的藝術(shù),在不重新加載整個(gè)頁(yè)面的情況下。

ajax是一種在無(wú)需重新加載整個(gè)網(wǎng)頁(yè)的情況下,能夠更新部分網(wǎng)頁(yè)的技術(shù)。

ajax是一種用于創(chuàng)建快速動(dòng)態(tài)網(wǎng)頁(yè)的技術(shù)。通過(guò)在后臺(tái)與服務(wù)器進(jìn)行少量數(shù)據(jù)交換。ajax可以使網(wǎng)頁(yè)實(shí)現(xiàn)異步更新。這意味著可以在不重新加載整個(gè)網(wǎng)頁(yè)的情況下,對(duì)網(wǎng)頁(yè)的某部分進(jìn)行更新。而傳統(tǒng)的網(wǎng)頁(yè)(不使用ajax)如果需要更新內(nèi)容,必須重載整個(gè)網(wǎng)頁(yè)面。

在Web應(yīng)用開發(fā)過(guò)程中,業(yè)界對(duì)前后端的分界線似乎一直都沒(méi)有確定的概念,不過(guò)大多數(shù)人以瀏覽器作為前后端的分界線。將瀏覽器中為用戶進(jìn)行頁(yè)面展示的部分稱為前端,而將運(yùn)行于服務(wù)器,為前端提供業(yè)務(wù)邏輯和數(shù)據(jù)準(zhǔn)備的所有代碼統(tǒng)稱為后端。

雖然前后端分離在數(shù)年前就已經(jīng)開始受到關(guān)注,但很多人對(duì)它卻是只聞其聲,未見其形,所以對(duì)它產(chǎn)生了一些誤解,誤以為前后段分離只是一種Web應(yīng)用的開發(fā)模式,只要在Web應(yīng)用的開發(fā)期進(jìn)行了前后端開發(fā)工作的分工就是前后端分離。

其實(shí)并非如此,準(zhǔn)確的說(shuō),前后端分離并不只是開發(fā)模式,而是Web應(yīng)用的一種架構(gòu)模式。在開發(fā)期,前后端工程師可以通過(guò)約定好交互接口,實(shí)現(xiàn)并行開發(fā);在運(yùn)行期,前后端分離模式需要對(duì)Web應(yīng)用進(jìn)行分離部署,前后端之間使用HTTP請(qǐng)求進(jìn)行交互。

一、JSON解析

JSON(JavaScript Object Notation) 是一種輕量級(jí)的數(shù)據(jù)交換格式。JSON采用完全獨(dú)立于語(yǔ)言的文本格式,這些特性使JSON成為理想的數(shù)據(jù)交換語(yǔ)言。易于人閱讀和編寫,同時(shí)也易于機(jī)器解析和生成。簡(jiǎn)單地說(shuō),JSON 可以將 JavaScript 對(duì)象中表示的一組數(shù)據(jù)轉(zhuǎn)換為字符串,然后就可以在函數(shù)之間輕松地傳遞這個(gè)字符串,或者在異步應(yīng)用程序中將字符串從 Web 客戶機(jī)傳遞給服務(wù)器端程序。

二、Ajax接口調(diào)用

前后端分離意味著,前后端之間使用 JSON 來(lái)交流,兩個(gè)開發(fā)團(tuán)隊(duì)之間使用 API 作為契約進(jìn)行交互, 通過(guò)JSON字符串,然后在異步應(yīng)用程序中將字符串從 Web 客戶機(jī)傳遞給服務(wù)器端程序。這部分學(xué)習(xí)的就是如何從前臺(tái)向后臺(tái)發(fā)起一個(gè)Ajax請(qǐng)求,最后得到服務(wù)器返回的數(shù)據(jù)響應(yīng)之后,進(jìn)行前端頁(yè)面的更新。

三、php后臺(tái)

PHP是一種流行的通用腳本語(yǔ)言,特別適合于web開發(fā)。php語(yǔ)言具有以下特點(diǎn):

1、跨平臺(tái),性能優(yōu)越,和很多免費(fèi)的平臺(tái)結(jié)合非常省錢,比如LAMP(Linux /Apache/Mysql/PHP)或者FAMP(FreeBSD/Apache/Mysql/PHP)結(jié)合,或者數(shù)據(jù)應(yīng)用夠大可以考慮換 PostgreSQL或者Oracle,支持N種數(shù)據(jù)庫(kù)。(N >= 10)

2、語(yǔ)法簡(jiǎn)單,如果有學(xué)習(xí)C和Perl的很容易上手,并且跟ASP有部分類似。有成熟的開發(fā)工具,比如NuPHPed,或者Zend Studio等等,再Linux平臺(tái)下可以使用Eclipse等等。

3、目前主流技術(shù)都支持,比如WebService、Ajax、XML等等,足夠應(yīng)用。

4、有很多成熟的框架,比如支持MVC的框架:phpMVC,支持類似ASP.net的事件驅(qū)動(dòng)的框架:Prado,支持類似Ruby On Rails的快速開發(fā)的框架:Cake等等,足夠滿足你的應(yīng)用需求。

5、PHP 5已經(jīng)有成熟的面向?qū)ο篌w系,能夠適應(yīng)基本的面向?qū)ο笠?。適合開發(fā)大型項(xiàng)目。

這部分主要學(xué)習(xí)的如何搭建一個(gè)php服務(wù)器,掌握PHP的基本語(yǔ)法,通過(guò)php生成一個(gè)動(dòng)態(tài)網(wǎng)頁(yè),掌握如何使用php完成一個(gè)標(biāo)準(zhǔn)化的接口,最終返回JSON數(shù)據(jù)給前臺(tái)。

四、數(shù)據(jù)庫(kù)


數(shù)據(jù)庫(kù)(Database)是按照數(shù)據(jù)結(jié)構(gòu)來(lái)組織、存儲(chǔ)和管理數(shù)據(jù)的倉(cāng)庫(kù),每個(gè)數(shù)據(jù)庫(kù)都有一個(gè)或多個(gè)不同的API用于創(chuàng)建,訪問(wèn),管理,搜索和復(fù)制 所保存的數(shù)據(jù)。我們也可以將數(shù)據(jù)存儲(chǔ)在文件中,但是在文件中讀寫數(shù)據(jù)速度相對(duì)較慢。

MySQL是一個(gè)關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng),由瑞典MySQL AB公司開發(fā),目前屬于Oracle公司。MySQL是一種關(guān)聯(lián)數(shù)據(jù)庫(kù)管理系統(tǒng),關(guān)聯(lián)數(shù)據(jù)庫(kù)將數(shù)據(jù)保存在 不同的表中,而不是將所有數(shù)據(jù)放在一個(gè)大倉(cāng)庫(kù)內(nèi),這樣就增加了速度并提高了靈活性。

• Mysql是開源的,所以你不需要支付額外的費(fèi)用。

• Mysql支持大型的數(shù)據(jù)庫(kù)。可以處理?yè)碛猩锨f(wàn)條記錄的大型數(shù)據(jù)庫(kù)。

• MySQL使用標(biāo)準(zhǔn)的SQL數(shù)據(jù)語(yǔ)言形式。

• Mysql可以允許于多個(gè)系統(tǒng)上,并且支持多種語(yǔ)言。這些編程語(yǔ)言包括C、C++、Python、Java、Perl、PHP、Eiffel、Ruby和Tcl等。

• Mysql對(duì)PHP有很好的支持,PHP是目前最流行的Web開發(fā)語(yǔ)言。

• MySQL支持大型數(shù)據(jù)庫(kù),支持5000萬(wàn)條記錄的數(shù)據(jù)倉(cāng)庫(kù),32位系統(tǒng)表文件最大可支持4GB,64位系統(tǒng)支持最大的表文件為8TB。

這部分主要學(xué)習(xí)的是數(shù)據(jù)中的增刪改查操作,最后通過(guò)php訪問(wèn)數(shù)據(jù)中的數(shù)據(jù),然后通過(guò)響應(yīng)的處理,發(fā)揮給前臺(tái)使用。

五、Ajax跨域

由于在工作中需要使用AJAX請(qǐng)求其他域名下的請(qǐng)求,但是會(huì)出現(xiàn)拒絕訪問(wèn)的情況,這是因?yàn)榛诎踩目紤],AJAX只能訪問(wèn)本地的資源,而不能跨域訪問(wèn)。

解決方式一:

“XHR2” 全稱 “XMLHttpRequest Level2” 是HTML5提供的方法,對(duì)跨域訪問(wèn)提供了很好的支持,并且還有一些新的功能。

* IE10以下的版本都不支持

* 只需要在服務(wù)器端頭部加上下面兩句代碼:

header( "Access-Control-Allow-Origin:*" );
header( "Access-Control-Allow-Methods:POST,GET" );

解決方式二:

JSONP(JSON with Padding)是一個(gè)非官方的協(xié)議,它允許在服務(wù)器端集成Script tags返回至客戶端,通過(guò)javascript callback的形式實(shí)現(xiàn)跨域訪問(wèn)(這僅僅是JSONP簡(jiǎn)單的實(shí)現(xiàn)形式)。

由于同源策略的限制,XmlHttpRequest只允許請(qǐng)求當(dāng)前源(域名、協(xié)議、端口)的資源,為了實(shí)現(xiàn)跨域請(qǐng)求,可以通過(guò)script標(biāo)簽實(shí)現(xiàn)跨域請(qǐng)求,然后在服務(wù)端輸出JSON數(shù)據(jù)并執(zhí)行回調(diào)函數(shù),從而解決了跨域的數(shù)據(jù)請(qǐng)求。

總結(jié)

以上所述是小編給大家介紹的Ajax異步請(qǐng)求技術(shù)實(shí)例講解,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!

您可能感興趣的文章:
  • Vue form 表單提交+ajax異步請(qǐng)求+分頁(yè)效果
  • ajax異步請(qǐng)求詳解
  • AJAX實(shí)現(xiàn)簡(jiǎn)單的注冊(cè)頁(yè)面異步請(qǐng)求實(shí)例代碼
  • 基于JQuery的$.ajax方法進(jìn)行異步請(qǐng)求導(dǎo)致頁(yè)面閃爍的解決辦法
  • SpringMVC環(huán)境下實(shí)現(xiàn)的Ajax異步請(qǐng)求JSON格式數(shù)據(jù)
  • jquery的ajax異步請(qǐng)求接收返回json數(shù)據(jù)實(shí)例
  • ajax的工作原理以及異步請(qǐng)求的封裝介紹
  • dojo學(xué)習(xí)第二天 ajax異步請(qǐng)求之綁定列表

標(biāo)簽:四川 內(nèi)江 遼寧 益陽(yáng) 銅川 玉樹 營(yíng)口 本溪

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Ajax異步請(qǐng)求技術(shù)實(shí)例講解》,本文關(guān)鍵詞  Ajax,異步,請(qǐng)求,技術(shù),實(shí)例,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《Ajax異步請(qǐng)求技術(shù)實(shí)例講解》相關(guān)的同類信息!
  • 本頁(yè)收集關(guān)于Ajax異步請(qǐng)求技術(shù)實(shí)例講解的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    平远县| 东安县| 讷河市| 沅陵县| 射洪县| 富民县| 昂仁县| 花垣县| 霍林郭勒市| 观塘区| 沾益县| 双峰县| 时尚| 安远县| 离岛区| 龙江县| 古丈县| 和林格尔县| 高密市| 福贡县| 三台县| 华宁县| 五华县| 马龙县| 神农架林区| 察哈| 会宁县| 高淳县| 游戏| 轮台县| 巴马| 仪陇县| 连云港市| 观塘区| 开封市| 克山县| 凤阳县| 钟山县| 阿坝县| 神木县| 阿拉尔市|