Ajax相关介绍
ajax是什么?
AJAX 是與服務(wù)器交換數(shù)據(jù)并更新部分網(wǎng)頁的藝術(shù),在不重新加載整個(gè)頁面的情況下。
AJAX 指異步 JavaScript 及 XML(Asynchronous JavaScript And XML)。
AJAX 是一種在 2005 年由 Google 推廣開來的編程模式。
AJAX 不是一種新的編程語言,而是一種使用現(xiàn)有標(biāo)準(zhǔn)的新方法。
通過 AJAX,你可以創(chuàng)建更好、更快以及更友好的 WEB 應(yīng)用程序。
AJAX 基于 JavaScript 和 HTTP 請求(HTTP requests)。
通過 HTTP 請求加載遠(yuǎn)程數(shù)據(jù)
jQuery 底層對 AJAX 實(shí)現(xiàn)進(jìn)行了封裝.使得我們在進(jìn)行ajax操作時(shí),不必像原生js中那么復(fù)雜
$.get, $.post, $.ajax() 返回其創(chuàng)建的 XMLHttpRequest 對象。多數(shù)情況下我們不需要去操作返回的對象
如何使用ajax技術(shù)?
首先你得有web服務(wù)器,能夠通過瀏覽器去執(zhí)行你的html和你的python 注意一點(diǎn):我們平常寫的html,直接在瀏覽器打開時(shí) 使用的是file協(xié)議 而ajax是基于HTTP請求的,所以要求你的html能夠使用http的協(xié)議打開 如果你能做到用http協(xié)議去打開你的html并且能夠正常顯示的話,就代表你的web服務(wù)器搭建成功$.get() 方法:
//發(fā)送ajax請求 1.url 2.可選 發(fā)送get請求時(shí)攜帶的參數(shù) ,3,可選 回調(diào)函數(shù),請求完之后做什么事 4,可選,返回的數(shù)據(jù)類型 jsonKaTeX parse error: Expected '}', got '&' at position 11: .get(url,{&?#x8BF7;求….post()
$.post(url,{請求的參數(shù)},function(data){},'json')$.ajax()
$.ajax({url:'/cgi-bin/5.py',//當(dāng)前請求的url地址type:'get',//當(dāng)前請求的方式 get postdata:{id:100,username:'zhangsan'},//請求時(shí)發(fā)送的參數(shù)dataType:'json',//返回的數(shù)據(jù)類型success:function(data){//ajax請求成功后執(zhí)行的代碼console.log(data);},error:function(){//ajax執(zhí)行失敗后執(zhí)行的代碼alert('ajax執(zhí)行錯誤');},timeout:2000,//設(shè)置當(dāng)前請求的超時(shí)時(shí)間 毫秒,必須時(shí)異步請求才會生效async:true// 是否異步 true為異步 false 同步 })ajax異步 同步
//設(shè)置ajax的全局配置 async:false 設(shè)置當(dāng)前請求為同步 $.ajaxSetup({async:false })關(guān)于ajax中 異步 和 同步 ajax默認(rèn)就是異步請求,async (默認(rèn): true) 默認(rèn)設(shè)置下,所有請求均為異步請求。 如果需要發(fā)送同步請求,請將此選項(xiàng)設(shè)置為 false。同步請求,就發(fā)ajax請求發(fā)出去后必須等待ajax的結(jié)果返回后才能繼續(xù)往下執(zhí)行一般情況下都使用異步操作就可以,除非有特殊情況,必須等ajax的結(jié)果回來后才能做處理的,就用同步注意
1.ajax是無刷新請求服務(wù)器,所以我們在瀏覽器中是感覺不到,也看不到ajax的具體請求和執(zhí)行情況的.,因此我們需要借助瀏覽器的調(diào)試工具 (F12打開) 進(jìn)行查看2.ajax的請求是基礎(chǔ)HTTP協(xié)議的,就要求你當(dāng)前打開這個(gè)帶有ajax的html時(shí)必須使用http協(xié)議3.ajax要求同源策略http://127.0.0.1:8000/cgi-bin/1.py即: 協(xié)議(http https) 域名或IP 以及端口(80 443 8000 8080 ...)都必須一致4.關(guān)于返回的數(shù)據(jù)類型 在get() post() ajax() 都可以設(shè)置返回的數(shù)據(jù)類型 'json'如果要求返回json格式數(shù)據(jù),那么就必須返回json,如果不正確,在get和post方法將拿不到data中返回的數(shù)據(jù),在ajax方法中則會進(jìn)去error方法5.在python中返回json格式數(shù)據(jù),引入 json模塊json.dumps(數(shù)據(jù)) 使用json_dumps方法進(jìn)行json格式的編碼轉(zhuǎn)換6.在使用ajax方法時(shí).會創(chuàng)建一個(gè)對象 XMLHttpRequest那么在ajax的方法中使用的 $(this) 就代表 ajax的對象$(this) 永遠(yuǎn)代表一個(gè)對象,沒有指明對象時(shí) 代表的時(shí)window對象,在它有對象時(shí) 代表的就是當(dāng)前的這個(gè)對象了解json格式數(shù)據(jù)
json是 JavaScript Object Notation 的首字母縮寫,單詞的意思是javascript對象表示法,這里說的json指的是類似于javascript對象的一種數(shù)據(jù)格式,目前這種數(shù)據(jù)格式比較流行,逐漸替換掉了傳統(tǒng)的xml數(shù)據(jù)格式。
javascript對象字面量:
var tom = {name:'tom',age:18 }json格式的數(shù)據(jù):
{"name":'tom',"age":18 }與json對象不同的是,json數(shù)據(jù)格式的屬性名稱需要用雙引號引起來,用單引號或者不用引號會導(dǎo)致讀取數(shù)據(jù)錯誤。
json的另外一個(gè)數(shù)據(jù)格式是數(shù)組,和javascript中的數(shù)組字面量相同。
['tom',18,'programmer']總結(jié)
- 上一篇: 微信背后的男人——张小龙
- 下一篇: 从二进制格雷码到任意进制格雷码(1)