python-django框架-AJAX研究php
AJAX是作什麼的?html
是異步發請求的,前端
1,預備知識,jsonjava
什麼是json?這是一種數據格式,和語言沒有關係,python
爲何會有json這種數據格式,就是爲了能夠實現跨語言的傳輸,好比先後端的傳輸,前端是js,後端能夠是c,go,python,java,php,等等,ajax
不一樣的後端語言怎麼和前端語言作交互呢?數據庫
如今企業基本都是先後端分離的,前端須要什麼數據,你就返回什麼數據,就能夠了,前端框架Vue,後端就是寫API,只寫API也挺麻煩的,也不簡單,django
---------------編程
基本認識:json
JSON 指的是 JavaScript 對象表示法(JavaScript Object Notation)
JSON 是輕量級的文本數據交換格式
JSON 獨立於語言 *
JSON 具備自我描述性,更易理解
有空仍是須要研究一下ppt的。這是管理層須要的技能,
------------------
json是2001年出來的,目的就是爲了替代繁重的xml,
JSON 簡單的語法格式和清晰的層次結構明顯要比 XML 容易閱讀,
而且在數據交換方面,因爲 JSON 所使用的字符要比 XML 少得多,能夠大大得節約傳輸數據所佔用得帶寬。
-------------------------------------
2,
咱們學過的發請求的方式:
1,直接在瀏覽器輸入網址,回車,這是一個get請求,
2,a標籤,get請求
3,form表單,post請求,和get請求均可以發,
4,AJAX,也能夠發get請求,也能夠發post請求,
四種都是不依賴的,獨立的,
#######################################################
3,AJAX
AJAX(Asynchronous Javascript And XML)翻譯成中文就是「異步的Javascript和XML」。
即便用Javascript語言與服務器進行異步交互,傳輸的數據爲XML(固然,傳輸的數據不僅是XML)。
因此這是爲了使用js傳輸xml到服務器而產生的技術,
可是如今基本都是使用AJAX傳遞json數據格式了,
----------------------------------------
AJAX 不須要任何瀏覽器插件,但須要用戶容許JavaScript在瀏覽器上執行。
同步交互:客戶端發出一個請求後,須要等待服務器響應結束後,才能發出第二個請求; 同步就是要排隊,須要等,這是AJAX的一大優勢,
異步交互:客戶端發出一個請求後,無需等待服務器響應結束,就能夠發出第二個請求。異步就是能夠一塊兒走,不能等
---------------------------------------
AJAX 不是新的編程語言,而是一種使用現有標準的新方法。
AJAX 最大的優勢是在不從新加載整個頁面的狀況下,能夠與服務器交換數據並更新部分網頁內容。(這一特色給用戶的感覺是在不知不覺中完成請求和響應過程)
---------------------------------------
AJAX特色:
1,異步,最重要的特色,
2,局部刷新瀏覽器,(偷偷發請求了,)
好比註冊的時候,輸入已經存在的用戶名,點擊註冊,會提示該用戶名已經註冊,可是頁面是沒有刷新的,
可是怎麼知道該用戶已經註冊的,就是往數據庫去校驗了,這就是局部刷新,
---------------
AJAX經常使用的場景:
1,註冊頁面,
輸入用戶名,點擊註冊,會偷偷的使用AJAX發送請求,
輸入用戶名,失去光標,會偷偷的使用AJAX發送請求,
------------------
ajax能夠接收一個地址,而後跳轉到這個地址,
----------------------
AJAX請求如何設置csrf_token
ajax發送post請求的時候,也是須要校驗csrf的,怎麼能夠知足這個csrf?
1,能夠在html中加{{csrf_token}}
而後把這個name和value拿到,拼成一個字典,傳到後端,
-------------------------
django序列化,
-----------------------------
AJAX上傳文件