function getAjax(){
//建立xmlhttprequest執行個體
var xhr=getXMLHttpRequest();
//載入open方法
xhr.open("get","index.jsp?username=guoqianfang",true);
/*
open方法中共有5個參數,分別是method/url/async/user/password,常用的有3個參數,分別是method、url、async,
method:get、post,他們的區別是:get請求的參數是載入到url上的用?和&符號連結最大不能超過2k;post請求時
把參數不用載入到url上去,有安全性,但也可以載入到url上,而且也能獲得到載入上的參數
url:可以是相對的也可以是絕對的地址
async:true(非同步)、false(同步,一般不用),預設是true
*/
xhr.send();
/*
get請求時,不用設定xhr.setRequestHeader(header,value),send方法 的參數可以什麼都不寫也可以寫成null,
如果send方法裡要寫了參數的話,必須設定xhr.setRequestHeader(header,value),會預設成post方法請求,而
且send方法裡的參數獲得不到
post請求時,必須設定xhr.setRequestHeader(header,value);
*/
//寫調用函數
xhr.onreadystatechange=function(){
//判斷是否調用完成
if(xhr.readyState==4){
//判斷伺服器是否處理成功
if(xhr.status==200){
$("content").innerHTML=xhr.responseText;
}
}
}
}
function postAjax(){
var xhr=getXMLHttpRequest();
xhr.open("post","index.jsp",true);
xhr.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
xhr.send("username=guoqianfang");
xhr.onreadystatechange=function(){
//判斷是否調用完成
if(xhr.readyState==4){
//判斷伺服器是否處理成功
if(xhr.status==200){
$("content").innerHTML=xhr.responseText;
}
}
}
}
function $(id){
return document.getElementById(id);
}
function getXMLHttpRequest(){
var xhr;
try{
//IE瀏覽器
xhr=new ActiveXObject("Micorsoft.XMLHTTP");
}catch(error){
try{
//firefox/opera瀏覽器
xhr=new XMLHttpRequest();
}catch(e){
return xhr;
}
}
return xhr;
}
這是ajax最簡單、最基本的知識點 !