您好,登錄后才能下訂單哦!
今天就跟大家聊聊有關AJAX的使用方法,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據這篇文章可以有所收獲。
ajax簡介:
AJAX(Asynchronous Javascript And XML)翻譯成中文就是“異步的Javascript和XML”。即使用Javascript語言與服務器進行異步交互,傳輸的數據為XML(當然,傳輸的數據不只是XML)。
AJAX 不是新的編程語言,而是一種使用現有標準的新方法。
AJAX 最大的優點是在不重新加載整個頁面的情況下,可以與服務器交換數據并更新部分網頁內容。(這一特點給用戶的感受是在不知不覺中完成請求和響應過程)
AJAX 不需要任何瀏覽器插件,但需要用戶允許JavaScript在瀏覽器上執行。
同步交互:客戶端發出一個請求后,需要等待服務器響應結束后,才能發出第二個請求;
異步交互:客戶端發出一個請求后,無需等待服務器響應結束,就可以發出第二個請求。
ajax的基本使用方法:
# 前端向后端請求方式:1 瀏覽器手動輸入網址(get請求),2 a標簽的href屬性(get請求),form表單(get/post請求,默認為get)
# ajax特點:異步提交、局部刷新
# 基本使用語法:
提交url (url:’...‘)
提交方式 (type: 'post')
提交數據 (data:{'''})
提交后通過回調函數得到的返回結果 (sucess:function(data){...})
# 基本使用示例:(ajax的默認傳輸數據的格式是urlencoded)
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>圖書管理系統</title> <script src="https://cdn.bootcss.com/jquery/3.4.1/jquery.min.js"></script> <link rel="stylesheet" href="/static/bootstrap-3.3.7-dist/css/bootstrap.min.css"> <script src="/static/bootstrap-3.3.7-dist/js/bootstrap.min.js"></script> <link rel="stylesheet" href="/static/layui/css/layui.css"> <script src="/static/layui/layui.js"></script> <script src="https://cdn.bootcss.com/sweetalert/2.1.2/sweetalert.min.js"></script> </head> <body> <button class="btn btn-success" id="b1">AJAX測試</button> <script> {#綁定按鈕點擊觸發ajax提交數據#} $('#b1').on('click', function () { $.ajax({ {#固定語法格式#} url: '', {#不寫默認朝當前頁面發請求#} type: 'post', {#請求方式#} data : {'name': 'sgt', 'pwd': '123'}, {#發送的請求數據#} {#這里的data就是回調函數success獲取到的后端響應返回的數據#} success:function (data) { swal({ title: 'AJAX', text: '模擬這里顯示了返回的數據', icon: 'success', button: 'OK', }) } }) }) </script> </body> </html>
我們知道ajax默認的傳輸數據格式是urlencoded,前面我們說過,ajax可以用json作為數據格式傳輸。
現在強調一點:前后端傳輸數據必須要求數據是什么格式就應該用對應的傳輸格式,一一對應去傳輸,否則Django解析數據出問題,以至于我們在前后端拿不到想要的數據。
所以:
第一:我們需要在ajax發送請求代碼中指定發送數據格式:
contentType: 'application/json',
第二:后端獲取json格式數據不再是request.POST,而是通過request.body(得到的是一個bytes類型的json格式數據),所以再處理一下:
res = json.loads(request.body.decode('utf-8')),這就得到前端ajax發送過來的json格式數據。
看完上述內容,你們對AJAX的使用方法有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注億速云行業資訊頻道,感謝大家的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。