日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

python ajax mysql_Python开发【第十六篇】:AJAX全套

發布時間:2025/3/19 数据库 15 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python ajax mysql_Python开发【第十六篇】:AJAX全套 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

概述

對于WEB應用程序:用戶瀏覽器發送請求,服務器接收并處理請求,然后返回結果,往往返回就是字符串(HTML),瀏覽器將字符串(HTML)渲染并顯示瀏覽器上。

1、傳統的Web應用

一個簡單操作需要重新加載全局數據

2、AJAX

AJAX,Asynchronous JavaScript and XML (異步的JavaScript和XML),一種創建交互式網頁應用的網頁開發技術方案。

異步的JavaScript:

使用 【JavaScript語言】 以及 相關【瀏覽器提供類庫】 的功能向服務端發送請求,當服務端處理完請求之后,【自動執行某個JavaScript的回調函數】。

PS:以上請求和響應的整個過程是【偷偷】進行的,頁面上無任何感知。

XML

XML是一種標記語言,是Ajax在和后臺交互時傳輸數據的格式之一

利用AJAX可以做:

1、注冊時,輸入用戶名自動檢測用戶是否已經存在。

2、登陸時,提示用戶名密碼錯誤

3、刪除數據行時,將行ID發送到后臺,后臺在數據庫中刪除,數據庫刪除成功后,在頁面DOM中將數據行也刪除。(博客園)

“偽”AJAX

由于HTML標簽的iframe標簽具有局部加載內容的特性,所以可以使用其來偽造Ajax請求。

原生AJAX

Ajax主要就是使用 【XmlHttpRequest】對象來完成請求的操作,該對象在主流瀏覽器中均存在(除早起的IE),Ajax首次出現IE5.5中存在(ActiveX控件)。

1、XmlHttpRequest對象介紹

XmlHttpRequest對象的主要方法:

XmlHttpRequest對象的主要屬性:

2、跨瀏覽器支持

XmlHttpRequest

IE7+, Firefox, Chrome, Opera, etc.

ActiveXObject("Microsoft.XMLHTTP")

IE6, IE5

?基于原生AJAX - Demo

jQuery Ajax

jQuery其實就是一個JavaScript的類庫,其將復雜的功能做了上層封裝,使得開發者可以在其基礎上寫更少的代碼實現更多的功能。

jQuery 不是生產者,而是大自然搬運工。

jQuery Ajax本質 XMLHttpRequest 或 ActiveXObject

注:2.+版本不再支持IE9以下的瀏覽器

?jQuery Ajax 方法列表

?基于jQueryAjax - Demo

跨域AJAX

由于瀏覽器存在同源策略機制,同源策略阻止從一個源加載的文檔或腳本獲取或設置另一個源加載的文檔的屬性。

特別的:由于同源策略是瀏覽器的限制,所以請求的發送和響應是可以進行,只不過瀏覽器不接受罷了。

瀏覽器同源策略并不是對所有的請求均制約:

制約:?XmlHttpRequest

不叼:?img、iframe、script等具有src屬性的標簽

跨域,跨域名訪問,如:http://www.c1.com 域名向 http://www.c2.com域名發送請求。

1、JSONP實現跨域請求

JSONP(JSONP - JSON with Padding是JSON的一種“使用模式”),利用script標簽的src屬性(瀏覽器允許script標簽跨域)

?基于JSONP實現跨域Ajax - Demo

2、CORS

隨著技術的發展,現在的瀏覽器可以支持主動設置從而允許跨域請求,即:跨域資源共享(CORS,Cross-Origin Resource Sharing),其本質是設置響應頭,使得瀏覽器允許跨域請求。

* 簡單請求 OR 非簡單請求

* 簡單請求和非簡單請求的區別?

* 關于“預檢”

基于cors實現AJAX請求:

a、支持跨域,簡單請求

服務器設置響應頭:Access-Control-Allow-Origin = '域名' 或 '*'

?HTML

?Torando

b、支持跨域,復雜請求

由于復雜請求時,首先會發送“預檢”請求,如果“預檢”成功,則發送真實數據。

“預檢”請求時,允許請求方式則需服務器設置響應頭:Access-Control-Request-Method

“預檢”請求時,允許請求頭則需服務器設置響應頭:Access-Control-Request-Headers

“預檢”緩存時間,服務器設置響應頭:Access-Control-Max-Age

?HTML

?Tornado

c、跨域獲取響應頭

默認獲取到的所有響應頭只有基本信息,如果想要獲取自定義的響應頭,則需要再服務器端設置Access-Control-Expose-Headers。

?HTML

?Tornado

d、跨域傳輸cookie

在跨域請求中,默認情況下,HTTP Authentication信息,Cookie頭以及用戶的SSL證書無論在預檢請求中或是在實際請求都是不會被發送。

如果想要發送:

瀏覽器端:XMLHttpRequest的withCredentials為true

服務器端:Access-Control-Allow-Credentials為true

注意:服務器端響應的?Access-Control-Allow-Origin 不能是通配符 *

?HTML

?Tornado

總結

以上是生活随笔為你收集整理的python ajax mysql_Python开发【第十六篇】:AJAX全套的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。