一、js中的ajax
ajax:非同步訪問/區域性重新整理
1.同步和非同步
2.ajax的執行原理
頁面請求---->ajax引擎----->提交給伺服器端
這段時間可以做任何事情
伺服器端響應------>ajax引擎----->觸發設定好的事件,執行自定義的js邏輯**,然後顯示頁面
js改變頁面,其原理是改變的是記憶體
3.ajax實現
總結:
所有的非同步訪問都是通過ajax引擎
二、json傳遞資料(重點)
1.json在ajax中資料傳遞格式
json傳遞資料的一種格式,當使用非同步傳輸的時候,
當伺服器響應資料的時候,需要使用一種格式在客戶端和服務端進行傳遞
當服務端響應給客服端的時候響應的是字串或者xml(responsetext/respon***ml),
如果響應乙個物件給客戶端的時候就不能表示.
2.json格式
三、jquery中的ajax(重點)
再實際開發中使用下面三種方式:
$.post(url,[date],[callback],[type]);
$.get(url,[date],[callback],[type]);
$.ajax([options]);
.p
ost(
url,
[dat
e],[
call
back
],[t
ype]
)和.get(url,[date],[callback],[type])
- url://請求路徑
- date:把什麼資料傳遞給伺服器,可以是json格式(請求引數)
- callback:服務端成功響應所觸發的事件,只有正常成功返回才能執行
- type:返回的格式,一般我們寫json格式或者text格式,其實還有xml,html格式等
思路分析:
$.get(
//提交的位址,相當於open裡面的其中乙個url引數
"$/ajaxservlet2",
//傳遞引數,引數的形式可以寫成json形式
,//服務端成功響應所觸發的事件,
//在ajax中這裡相當於xmlhttp.onreadystatechange部分
//函式裡面的引數date表示伺服器成功響應給客戶端的資料,
//響應給客戶端的資料我們在伺服器端可以寫成字串形式的json格式
//比如:"",
//需要注意的是不能用單引號,只能用轉義字元,因為jquery在進行解析的時候
//會呼叫jquery.parsejson(json)這個方法進行解析,如果用單引號會出現畸形的
//json格式的字串,所謂畸形的json字串有以下兩種:
// ( test 沒有包圍雙引號)
// (使用了單引號而不是雙引號)
//另外,如果你什麼都不傳入,或者乙個空字串、null或undefined,
//parsejson都會返回 null 。
//這裡的名稱可以隨便取名字
function (date)
//type:返回的格式
//如果伺服器端返回的是json格式的字串,這裡我們
//用text型別進行解析,返回的是json格式的字串
//如果使用json進行解析,返回的是json物件,那麼我們都可以用json物件導航
//取出我們想要的資料
"text" //「json"
);
注意:post請求和get請求的寫法是一樣的,但是jquery中的post請求,他處理了中文問題,在伺服器端接受請求資料的時候,不必要寫request.setcharacterencoding(「utf-8」)進行處理亂碼,而get請求的時候需要我們先解碼,在編碼進行處理亂碼問題
string name = request.getparameter("name");
name = new string (name.getbytes("iso-8859-1"),"utf-8");
$.ajax([options]) js和jQuery實現的Ajax
ajax測試 最基本的jquery傳送ajax請求示例 ajax測試 views.py def ajax test request return render request,ajax test.html def ajaxtest request username request.post.get ...
原生JS和JQuery的ajax請求
一 原生js 1 get方法 得到xmlhttprequest 開啟與伺服器的連線 var url xhr.open get url,ture 同步為false,非同步為true 傳送請求,get 請求傳送為空 xhr.send null 接收伺服器的響應 xhr.onreadystatechang...
原生ajax和jQuery中的ajax使用
ajax是一種能夠向伺服器請求額外的資料而不需重新整理頁面,會帶來更好的使用者體驗。ajax技術的核心是xmlhttprequest物件。ie7及現在瀏覽器中,使用原生xhr建立 ajax請求有兩種,同步請求和非同步請求,在open 中第三個引數設定是否非同步 true代表該次請求非同步,false...