ajax之简单示例

Ajax, Asynchronous JAvaScript and XML.

Ajax让web开发者创建交互式的网站,功能比缓慢的、静态的网站更像桌面应用。
多种方法让Ajax可以在浏览器中直接放置交互,取代浏览器不得不频繁联系web服务器获取信息的状况。

当访问一个Ajax站点,浏览器象通常那样装载HTML页面。
然后,Ajax使用 JavaScript 进行交互。当一个站点访问者请求更多的信息时--例如,
装载一个地图--JavaScript产生请求。
JavaScript不是向web站点发送一个请求,而是使用API调用 XMLHttpRequest 把数据从后台转到前台。
(被请求的数据通常是 XML 格式,尽管不是必须的)
这使得当 XMLHttpRequest 处理和服务器的通讯时,网页和JavaScript能够继续和用户进行交互。

JavaScript通过XMLHttpRequest处理信息,然后使用或显示它。
但仅仅需要这些数据的部分页面被刷新。这提高了信息的显示速度,因为不必改变整个页面。

代码部分:

function forAjax() {
alert("js forAjax");

// var url = '/wicketHello/tempFile/ajax01.txt';
// this path will be related the "servlet"
var url = '/wicketHello/ajaxtest?flg=1&word=fuck';
xmlhttp = null;
if (window.XMLHttpRequest) {// code for IE7, Firefox, Opera, etc.
xmlhttp = new XMLHttpRequest();
} else if (window.ActiveXObject) {// code for IE6, IE5
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
if (xmlhttp != null) {
[b]xmlhttp.onreadystatechange = state_Change;
xmlhttp.open("GET", url, true);
xmlhttp.send(null);[/b]
} else {
alert("Your browser does not support XMLHTTP.");
}
}

function state_Change() {
if (xmlhttp.readyState == 4) {// 4 = "loaded"
if (xmlhttp.status == 200) {// 200 = "OK"
//document.getElementById('ajaxMsg').innerHTML = xmlhttp.statusText;
document.getElementById('divAjaxMsg').innerHTML = xmlhttp.responseText;
} else {
alert("Problem retrieving XML data:" + xmlhttp.statusText);
}
}
}


<div id="divAjax">
<input type="button" value="Ajax Test" onclick="forAjax()"/>
<span wicket:id="ajaxMsg">Message goes here</span>
<br />
gogogogog
<div id="divAjaxMsg"/>
</div>


关键,servelet部分:

String par1 = request.getParameter("flg");
String par2 = request.getParameter("word");
// it is nessary to use "printWriter" to output the
// infomation(String, json, xml...)
PrintWriter out = response.getWriter();
out.println("these words come from servlet."+ " par1: " + par1 + " par2:" + par2);
out.flush();
out.close();


web.xml

<servlet-mapping>
<servlet-name>ajax</servlet-name>
<url-pattern>/ajaxtest</url-pattern>
</servlet-mapping>


备注:
"wicketHello" 是工程名;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值