那些年,我還在學(xué)習(xí)Ajax 學(xué)習(xí)筆記
更新時(shí)間:2012年03月06日 23:11:47 作者:
Ajax不用說(shuō),每個(gè)做web開(kāi)發(fā)的同志都知道,因?yàn)樗菍W(xué)習(xí)web開(kāi)發(fā)必經(jīng)之路,不管你是做asp.net,還是javaWeb,還是PHP
通俗的說(shuō),Ajax就是一種網(wǎng)頁(yè)無(wú)刷技術(shù),以提高用戶(hù)體驗(yàn),Ajax并不是什么新的技術(shù),只是在那些年才火了起來(lái)(Ajax火起來(lái)時(shí),哥只知道聊QQ),所以它就備受觀注;當(dāng)然,那些年就開(kāi)始學(xué)習(xí)了。
一、完成Ajax請(qǐng)求
1、 在完成這個(gè)請(qǐng)求之前,先來(lái)了解一下Ajax是什么,它的全名叫異步的javascript與、XML,從名稱(chēng)可以看出,它與javascript和XML有不解之緣,Ajax使用XML地HTTP請(qǐng)求,通過(guò)瀏覽器建立的xmlHttpRequest對(duì)象,異步的向服務(wù)器發(fā)送請(qǐng)求,服務(wù)器處理請(qǐng)求后,將響應(yīng)通過(guò)xmlHttp.responseText屬性返回給javascript函數(shù)處理數(shù)據(jù),進(jìn)一步使用javascript處理DOM,完成頁(yè)面的局部更新。
2、 代碼示例,使用XMLHttpRequest完成請(qǐng)求
代碼:JS:
<script type="text/javascript">
//XMLHttpRequest對(duì)象
var xmlHttp;
function buildXMLHttpRequest() {
//判斷瀏覽器
if (window.ActiveXObject) {
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP"); //IE
} else if (window.XMLHttpRequest) {
xmlHttp = new XMLHttpRequest(); //非IE
} else {
xmlHttp = NaN;
}
}
function sendRequest() {
buildXMLHttpRequest();
//Post請(qǐng)求
xmlHttp.open("post", "Handler.ashx", true);
xmlHttp.onreadystatechange = function() {
//判斷狀態(tài)
if (xmlHttp.readyState == 4 && xmlHttp.status == 200) {
alert(xmlHttp.responseText);
}
}
//定義傳輸?shù)奈募﨟TTP頭信息
xmlHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); //采用的編碼方式
xmlHttp.send("value=1");
}
</script>
Handler.ashx:
<%@ WebHandler Language="C#" Class="Handler" %>
using System;
using System.Web;
public class Handler : IHttpHandler {
public void ProcessRequest (HttpContext context) {
context.Response.ContentType = "text/plain";
context.Response.Write("Hello World xin_ny 中文件 "+context.Request.Params["value"]);
}
public bool IsReusable {
get {
return false;
}
}
}
效果:
記得在那些年,我還在學(xué)習(xí)Jquery中沒(méi)有說(shuō)到它的Ajax方法,這里就補(bǔ)上了,JQuery提供了很多Ajax函數(shù),方便了開(kāi)發(fā)人員的使用,不再需要開(kāi)發(fā)人員創(chuàng)建XMLHttpRequest對(duì)象來(lái)完成請(qǐng)求,可直接使用JQuery庫(kù)中的Ajax函數(shù)完成請(qǐng)求,并兼容性也較好,下面就來(lái)看一下Jquery的Ajax吧。
1、Jquery得到數(shù)據(jù)方法:load()
例:
function ajaxMethod() {
$("#spanDiv").load("DemoData.txt");
}
2、Jquery的get(url,[data],callback)方法
例:
function ajaxGet() {
//對(duì)象數(shù)據(jù)源
var obj = { first: "First", second: "Second" };
$.get(
"CallBackData.ashx", obj, function(data) {
$("#spanDiv").html(data);
});
}
3、Jquery的post(url,[data],callback,type)方法
例:
function ajaxPost() {
//對(duì)象數(shù)據(jù)源
var obj = { first: "First", second: "Second" };
$.get(
"CallBackData.ashx", obj, function(data) {
$("#spanDiv").text(decodeURI(data));
});
}
4、Jquery的ajax(option)方法
例:
function ajaxAjax() {
//對(duì)象數(shù)據(jù)源
var obj = { first: "First", second: "Second" };
$.ajax({
type: "Get",
url: "CallBackData.ashx",
data: obj,
success: function(data) {
$("#spanDiv").text(decodeURI(data));
}
});
}
5、Jquery的ajaxSetup(options)方法,設(shè)置全局的ajax的配置
例:
function ajaxAjaxSetup() {
//對(duì)象數(shù)據(jù)源
var obj = { first: "First", second: "Second" };
$.ajax({
type: "Post",
url: "CallBackData.ashx",
data: obj,
success: function(data) {
$("#spanDiv").text(decodeURI(data));
}
});
}
6、Jquery的ajaxSubmit(options)方法,提交表單
總結(jié)
那些年學(xué)習(xí)Ajax,提高了用戶(hù)體驗(yàn),同時(shí)也減輕了服務(wù)器的負(fù)擔(dān),此文經(jīng)回憶那些年學(xué)習(xí)Ajax的日子。
一、完成Ajax請(qǐng)求
1、 在完成這個(gè)請(qǐng)求之前,先來(lái)了解一下Ajax是什么,它的全名叫異步的javascript與、XML,從名稱(chēng)可以看出,它與javascript和XML有不解之緣,Ajax使用XML地HTTP請(qǐng)求,通過(guò)瀏覽器建立的xmlHttpRequest對(duì)象,異步的向服務(wù)器發(fā)送請(qǐng)求,服務(wù)器處理請(qǐng)求后,將響應(yīng)通過(guò)xmlHttp.responseText屬性返回給javascript函數(shù)處理數(shù)據(jù),進(jìn)一步使用javascript處理DOM,完成頁(yè)面的局部更新。
2、 代碼示例,使用XMLHttpRequest完成請(qǐng)求
代碼:JS:
復(fù)制代碼 代碼如下:
<script type="text/javascript">
//XMLHttpRequest對(duì)象
var xmlHttp;
function buildXMLHttpRequest() {
//判斷瀏覽器
if (window.ActiveXObject) {
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP"); //IE
} else if (window.XMLHttpRequest) {
xmlHttp = new XMLHttpRequest(); //非IE
} else {
xmlHttp = NaN;
}
}
function sendRequest() {
buildXMLHttpRequest();
//Post請(qǐng)求
xmlHttp.open("post", "Handler.ashx", true);
xmlHttp.onreadystatechange = function() {
//判斷狀態(tài)
if (xmlHttp.readyState == 4 && xmlHttp.status == 200) {
alert(xmlHttp.responseText);
}
}
//定義傳輸?shù)奈募﨟TTP頭信息
xmlHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); //采用的編碼方式
xmlHttp.send("value=1");
}
</script>
Handler.ashx:
復(fù)制代碼 代碼如下:
<%@ WebHandler Language="C#" Class="Handler" %>
using System;
using System.Web;
public class Handler : IHttpHandler {
public void ProcessRequest (HttpContext context) {
context.Response.ContentType = "text/plain";
context.Response.Write("Hello World xin_ny 中文件 "+context.Request.Params["value"]);
}
public bool IsReusable {
get {
return false;
}
}
}
效果:

記得在那些年,我還在學(xué)習(xí)Jquery中沒(méi)有說(shuō)到它的Ajax方法,這里就補(bǔ)上了,JQuery提供了很多Ajax函數(shù),方便了開(kāi)發(fā)人員的使用,不再需要開(kāi)發(fā)人員創(chuàng)建XMLHttpRequest對(duì)象來(lái)完成請(qǐng)求,可直接使用JQuery庫(kù)中的Ajax函數(shù)完成請(qǐng)求,并兼容性也較好,下面就來(lái)看一下Jquery的Ajax吧。
1、Jquery得到數(shù)據(jù)方法:load()
例:
復(fù)制代碼 代碼如下:
function ajaxMethod() {
$("#spanDiv").load("DemoData.txt");
}
2、Jquery的get(url,[data],callback)方法
例:
復(fù)制代碼 代碼如下:
function ajaxGet() {
//對(duì)象數(shù)據(jù)源
var obj = { first: "First", second: "Second" };
$.get(
"CallBackData.ashx", obj, function(data) {
$("#spanDiv").html(data);
});
}
3、Jquery的post(url,[data],callback,type)方法
例:
復(fù)制代碼 代碼如下:
function ajaxPost() {
//對(duì)象數(shù)據(jù)源
var obj = { first: "First", second: "Second" };
$.get(
"CallBackData.ashx", obj, function(data) {
$("#spanDiv").text(decodeURI(data));
});
}
4、Jquery的ajax(option)方法
例:
復(fù)制代碼 代碼如下:
function ajaxAjax() {
//對(duì)象數(shù)據(jù)源
var obj = { first: "First", second: "Second" };
$.ajax({
type: "Get",
url: "CallBackData.ashx",
data: obj,
success: function(data) {
$("#spanDiv").text(decodeURI(data));
}
});
}
5、Jquery的ajaxSetup(options)方法,設(shè)置全局的ajax的配置
例:
復(fù)制代碼 代碼如下:
function ajaxAjaxSetup() {
//對(duì)象數(shù)據(jù)源
var obj = { first: "First", second: "Second" };
$.ajax({
type: "Post",
url: "CallBackData.ashx",
data: obj,
success: function(data) {
$("#spanDiv").text(decodeURI(data));
}
});
}
6、Jquery的ajaxSubmit(options)方法,提交表單
總結(jié)
那些年學(xué)習(xí)Ajax,提高了用戶(hù)體驗(yàn),同時(shí)也減輕了服務(wù)器的負(fù)擔(dān),此文經(jīng)回憶那些年學(xué)習(xí)Ajax的日子。
您可能感興趣的文章:
- IE關(guān)閉時(shí)判斷及AJAX注銷(xiāo)案例學(xué)習(xí)
- Ajax與JSON的一些學(xué)習(xí)總結(jié)
- jquery中ajax學(xué)習(xí)筆記4
- jquery中ajax學(xué)習(xí)筆記3
- 從零開(kāi)始學(xué)習(xí)jQuery (六) jquery中的AJAX使用
- AJax 學(xué)習(xí)筆記二(onreadystatechange的作用)
- AJax 學(xué)習(xí)筆記一(XMLHTTPRequest對(duì)象)
- Jquery Ajax學(xué)習(xí)實(shí)例 向頁(yè)面發(fā)出請(qǐng)求,返回XML格式數(shù)據(jù)
- 揭開(kāi)AJAX神秘的面紗(AJAX個(gè)人學(xué)習(xí)筆記)
- Ajax學(xué)習(xí)全套(最全最經(jīng)典)
相關(guān)文章
Ajax動(dòng)態(tài)為下拉列表添加數(shù)據(jù)的實(shí)現(xiàn)方法
這篇文章主要介紹了Ajax動(dòng)態(tài)為下拉列表添加數(shù)據(jù)的實(shí)現(xiàn)方法,需要的朋友可以參考下2017-01-01
在(ASP/PHP/JSP/html/js)中禁止ajax緩存的方法集錦
禁止ajax緩存最簡(jiǎn)單的辦法就是在js端直接生成一個(gè)隨機(jī)數(shù)了,但是有時(shí)會(huì)發(fā)現(xiàn)此方法不適用于post了,如果我們要禁止post 提交數(shù)據(jù)的ajax緩存需要怎么處理呢,下面我整理了很多關(guān)于禁止ajax緩存的例子2014-08-08
詳解Ajax跨域(jsonp) 調(diào)用JAVA后臺(tái)
本篇文章主要介紹了詳解Ajax跨域(jsonp) 調(diào)用JAVA后臺(tái) ,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-05-05
Ajax實(shí)現(xiàn)列表無(wú)限加載和二級(jí)下拉選項(xiàng)效果
這篇文章主要為大家詳細(xì)介紹了Ajax實(shí)現(xiàn)列表無(wú)限加載和二級(jí)下拉選項(xiàng)效果,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-06-06
Ajax 的初步實(shí)現(xiàn)(使用vscode+node.js+express框架)
這篇文章給大家介紹使用vscode+node.js+express框架操作ajax的初步實(shí)現(xiàn)方法,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧2021-06-06
ajax請(qǐng)求后臺(tái)接口數(shù)據(jù)與返回值處理js的實(shí)例講解
今天小編就為大家分享一篇ajax請(qǐng)求后臺(tái)接口數(shù)據(jù)與返回值處理js的實(shí)例講解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-08-08
ajax獲得json對(duì)象數(shù)組 循環(huán)輸出數(shù)據(jù)的方法
今天小編就為大家分享一篇ajax獲得json對(duì)象數(shù)組 循環(huán)輸出數(shù)據(jù)的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-08-08

