国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > AJAX > 正文

Ajax實現的異步傳輸與驗證示例代碼

2024-09-01 08:32:30
字體:
來源:轉載
供稿:網友
Ajax異步傳輸應用很廣當用戶注冊時,當用戶剛一輸完,立即判斷用戶是否存在這就用到了異步傳輸

Ajax異步傳輸用得很廣,就拿web開發來說吧,當用戶注冊時,當用戶剛一輸完,怎么立即判斷用戶是否存在,并在輸入框后顯示提示?這就用到了異步傳輸~~

它可以讓你不離開頁面的情況下,獲取后臺你想要的數據,并顯示在當前頁面!!好的,下面看個例子

下面是一段Ajax驗證代碼

復制代碼 代碼如下:


<script type="text/javascript">

//① 設置變量
var xmlHttp ;
var flag = false ;
var package_name;

//② 創建XMLHttp對象
function createXMLHttp(){
if(window.XMLHttpRequest){
xmlHttp = new XMLHttpRequest() ;


} else {
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP") ;

}

}

//③
function getPackage_name(package_name){

//創建XMLHttpRequest對象
createXMLHttp() ;

document.getElementById("msg").innerHTML=package_name;
//創建一個HTTP請求,以post方式將package_name交給AppInfoServlet
xmlHttp.open("post","AppInfoOneServlet?package_name="+package_name) ;


//調用回調函數 生成可視化的頁面響應

xmlHttp.onreadystatechange =checkCallback;

// 發送請求
xmlHttp.send(null) ;

//友好提示
document.getElementById("msg").innerHTML = "正在獲取信息,請耐心等候..." ;

}

//④ 回調函數
function checkCallback(){

if(xmlHttp.readyState == 4){
if(xmlHttp.status == 200){

var text = xmlHttp.responseText ;
var t=text.split('|');//當獲取的是多個值,并用"|"作為分割時
document.getElementById("msg").innerHTML =t[0]+ "<br>"+"<div>"+"<div>"+"<div>"+"<ul>"+"<li>"+"<img src='"+t[1]+"' />"+"</li>"+"<li>"+"<img src='"+t[2]+"' />"+"</li>"+"</ul>"+"</div>"+"<h3>Android應用截圖展示</h3>"+"</div>"+"</div>"+"<center><a href='"+t[3]+"' target='_blank'><img src='./images/downloadsoruce.png'></a></center>" ;
//獲取的數據在id為“msg” 的標記中顯示出來,例如:<span></span>
}
}
}
</script>


在jsp頁面中是這樣調用js函數的

復制代碼 代碼如下:


<a href="#bottom">獲取</a>


Ajax獲取的數據將在下列標記中顯示出來

復制代碼 代碼如下:


<span></span>


好的,我們來看一下servlet中的代碼:

復制代碼 代碼如下:


public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {

request.setCharacterEncoding("utf-8");
response.setCharacterEncoding("utf-8");//必須在out前,否則傳輸的漢子為亂碼啊
PrintWriter out = response.getWriter();


String package_name=request.getParameter("package_name");

AppDaoImpl adi=new AppDaoImpl();
AppInfo ainfo=new AppInfo();
ainfo=adi.getOneAppInfo(package_name);


out.print(ainfo.getDescription()+"|"+ainfo.getScreen_1_path()+"|"+ainfo.getScreen_2_path()+"|"+ainfo.getDownload_path());
}


以上已經很清楚啦,當然驗證用戶是否存在,道理和這個是一模一樣的,其中一定要注意漢字傳輸中亂碼的問題~~~~~~
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 沅江市| 呈贡县| 玉山县| 齐齐哈尔市| 泽库县| 枞阳县| 津南区| 千阳县| 安化县| 木里| 博客| 云南省| 宁乡县| 廊坊市| 图木舒克市| 横山县| 新宁县| 岢岚县| 黄冈市| 盈江县| 伽师县| 汤原县| 景德镇市| 临湘市| 永嘉县| 瑞安市| 惠安县| 全南县| 盐城市| 诏安县| 遵义市| 徐汇区| 沅陵县| 长乐市| 筠连县| 九龙城区| 盘锦市| 正镶白旗| 广宗县| 敦化市| 肇源县|