AJAX
AJAX即“A
synchronous J
avascript And X
ML”(異步JavaScript和XML),是指一種創建交互式
網頁應用的網頁開發技術。
AJAX 是一種用於創建快速動態網頁的技術。
通過在后台與服務器進行少量數據交換,AJAX 可以使網頁實現異步更新。這意味着可以在不重新加載整個網頁的情況下,對網頁的某部分進行更新。
傳統的網頁(不使用 AJAX)如果需要更新內容,必須重載整個網頁頁面。
AJAX不是一種新的編程語言,而是一種用於創建更好更快以及交互性更強的Web應用程序的技術。
使用Javascript向服務器提出請求並處理響應而不阻塞用戶!核心對象XMLHTTPRequest。通過這個對象,您的 JavaScript 可在不重載頁面的情況與Web服務器交換數據。
AJAX 在瀏覽器與 Web 服務器之間使用異步數據傳輸(HTTP 請求),這樣就可使網頁從服務器請求少量的信息,而不是整個頁面。
AJAX 可使因特網應用程序更小、更快,更友好。
AJAX 是一種獨立於 Web 服務器軟件的瀏覽器技術。 AJAX 基於下列 Web 標准:
JavaScript
XML
HTMLCSS在 AJAX 中使用的 Web 標准已被良好定義,並被所有的主流瀏覽器支持。AJAX 應用程序獨立於瀏覽器和平台。
Web 應用程序較桌面應用程序有諸多優勢;它們能夠涉及廣大的用戶,它們更易安裝及維護,也更易開發。
不過,因特網應用程序並不像傳統的桌面應用程序那樣完善且友好。
通過 AJAX,因特網應用程序可以變得更完善,更友好。
工作原理:

基本結構及使用:
$.ajax({
url: "Ashxs/NationAll.ashx",使用ajax需要添加一個以ashx結尾的一般處理程序,服務端處理,直接返回給js。不用刷新頁面,url:"",里面填寫一般處理程序的路徑
data: {},用來存放要提交到服務端處理的數據,如果沒有,就不填
type: "post",向服務器發送請求
dataType: "json",服務端將執行完的數據返回給js,json返回的數據格式{"自定義名稱":"值","":""},如果返回一堆對象數據就是[{"":""},{":""},{}....]
success: function (na) {返回的json數據到自定義na中,因為返回的是一組數據,以鍵值對的形式,na可以直接點出每一條的鍵獲取到值
如果json返回的是一堆,就遍歷它,
for(i in na)
{
na[i].自定義的名稱(這樣就可以獲得這個鍵值),na[i].xxxxx
返回的數據用作什么地方,就以所需的形式接收一下,一次循環將所有數據一條一條接收
}
}//success
});//ajax
如果將返回的數據用於<select></select>下拉列表,遍歷數據一條一條添加時需要加get(0),也就是$(id).get(0).add(xxx);
一般處理程序:
使用ajax不用通過后台處理,通過一般處理程序,可以將js直接到服務端進行處理,數據庫操作,並將執行完的數據直接返回到js,不需要頁面刷新
一般處理程序返回的是json對象,實際就是在處理程序頁面拼接json字符串,格式:{"":"",....}一組數據
當需要返回一堆數據時,也就是多個組,需要在外面加英文格式的中括號,里面是每一組數據,逗號隔開[{},{}....]
拼接時為了更加清晰,定義一個變量,將所有json拼接在變量中,返回出去,定義時可將中括號分別單獨拼接在變量中
例:string str="["; str+={拼接的每一組鍵值對},{}... 最后完成后再將另一半中括號拼接上 str+="]";
在一般處理程序中引用的using並不多,使用時需要先引用,如集合,Linq等
using System.Collections;//集合引用
using System.Collections.Generic;//泛型集合引用
using System.Linq;
using System.Data.Linq;