成都网站建设
|
域名注册
|
虚拟主机
|
网站制作
|
网站案例
|
网站优化
|
网站推广
|
企业邮局
|
服务器租用
|
广告设计
首页
域名注册
虚拟主机
网站建设
服务器租用
营销推广
网站程序
前端开发
移动互联网
企业邮箱
广告设计
|
成都VI设计
|
画册设计制作
|
成都包装设计
|
网页设计
|
成都虚拟主机
|
网站建设
|
营销型网站建设
前端开发
html
div+css
css
jQuery
JavaScript教程
ajax教程
XML教程
json教程
bootstrap教程
域名注册
英文域名
中文域名
域名转入\转出
通用网址
无线网址
虚拟主机
主机购买
数据库
主机管理
FTP上传
主机续费升级
网站建设
网站策划
网站方案
网页设计
网站制作
网站改版
服务器租用
web服务器
FTP服务器
服务器租用
服务器托管
云主机服务器
营销推广
seo优化
网站推广
搜索引擎
免费资源
网站程序
vb编程
asp程序
php程序
asp.net程序
C#程序
移动互联网
wap手机网站
app应用开发
微网站
企业邮箱
企业邮箱优势
企业邮箱设置
邮箱收发问题
邮箱功能讲解
邮箱其他问题
网站备案
备案流程指南
备案资料下载
备案常见问题
各省备案要求
当前位置:
创新互联
>>
常见问题
>>
前端开发
>>
ajax教程
>>
三步教你学会ajax开发应用
三步教你学会ajax开发应用
作者:创新互联 文章来源:前端开发 点击数:
更新时间:2008-05-20
ajax
在很多程序员的眼里是一个很复杂或陌生的字眼,其实, AX并不复杂,自从AJAX技术出来后,天花乱坠的框架纷纷出台,搞得技术开发人员无从下手,baidu google里也有很多例子,大都是非常复杂。
其实就web开发而言,
AJAX技术
只是一个配合,完全没有必要本末倒置,是一种页面优化的技术,也就是说,如何去优化我们的web页面才是AJAX的重头戏。下面我举个很简单的例子,可以满足大部分的业务需求。(当然,如果是很专业的页面要求,可以去参考那些复杂的框架)
第一步:写一个后台的“接口”,这个可以用任何语言来实现,只要能返回http报文就可以了,我这里以webwork后台代码举个例子
public String hotWeek(
) throws Exception{
HttpServletResponse response = ServletActionContext.getResponse();
response.setContentType("text/xml; charset=gb2312");
PrintWriter out = response.getWriter();
StringBuffer insertHotHtml = new StringBuffer();
insertHotHtml.append("
cellspacing=0> ");
insertHotHtml.append("
");
insertHotHtml.append("
");
insertHotHtml.append("
");
insertHotHtml.append("
");
out.print(insertHotHtml.toString()); //返回一个有表格的HTTP报文
return null;
}
不用java的朋友根本不用管这些,只要记住,能返回一个HTTP报文,比如一个静态网页也可以。
第二步 :在页面里加入下面这段
javascript
代码
var xmlHttp;
function createXMLHttpRequest(){
if (window.ActiveXObject){
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
}
else if (window.XMLHttpRequest){
xmlHttp = new XMLHttpRequest();
}
}
function startAjaxRequest(method,async,actionUrl,data, invokeMethod){
createXMLHttpRequest();
xmlHttp.open(method, actionUrl, async);
xmlHttp.onreadystatechange = handleStateChange;
xmlHttp.send(data);
function handleStateChange(){
if(xmlHttp.readyState == 4){
if(xmlHttp.status == 200){
var nodeId = xmlHttp.responseText;
if (nodeId=='noPermission'){
alert('你没有权限访问此操作!');
}else if( (falseIndex = nodeId.indexOf("false||"))!= -1 ){
alert('操作失败,可能的原因为:' + nodeId.substring(
falseIndex+7, nodeId.length) + "!");
}else if(nodeId=='false'){
alert('操作失败,请和管理员联系!');
}else ...{
if (invokeMethod == undefined){
getResult(nodeId);
} else {
invokeMethod(nodeId);
}
}
}
}
}
}
我们要用的就是startAjaxRequest(method,async,actionUrl,data, invokeMethod) 这个方法,具体实现,也不可以不用理会,对于IE和firefox都可以兼容,method 要么是GET,要么是POST,async我们一般都设置为true就可以了,data用来传数据给后台,invokeMethod是指后台返回数据后,前台自动调用什么方法,如果为空,那么就默认调用 invokeMethod(nodeId)这个方法。
$(document).ready(function(){
var actionUrl = "./provider!hotWeek.action";
$('body').html("
页面加载中...
");
startAjaxRequest("GET",true,actionUrl,'');
});
这里我是用jQuery的,一个很好用的javascript框架。
"./provider!hotWeek.action" 就是我们获取HTTP报文的地址,大家完全可以用 比如 myTable.asp myTable.php只要返回的HTTP报文是符合XML规则的HTML语言就可以了。
第三步:后台返回后的处理方法
function getResult(nodeId){
$('body').html(nodeId);
}
总结起来,其实只要 startAjaxRequest("GET",true,actionUrl,'') 这么一个方法就可以去满足大部分
AJAX
的业务需求了,根本没有必要弄得那么复杂。
Ajax驱动的Web站点
:上一篇
使用PHP和AJAX创建RSS聚合器
:下一篇
ajax教程相关文章
Ajax驱动的Web站点
AJAX实现web页面中级联菜单...
用Ajax为SOA增光添彩
ASP.NET基本AJAX框架
Ajax 解决ie缓存问题
谈谈AJAX的安全性及AJAX安...
ajax强制不缓存的方法
使用PHP和AJAX创建RSS聚...
创新互联专业网站设计制作、网站建设、UI设计、网页设计。欢迎咨询028-86922220
网站备案
|
企业邮箱
|
移动互联网
|
前端开发
|
网站程序
|
营销推广
|
服务器租用
|
网站建设
|
虚拟主机
|
域名注册
|
热门搜索
服务电话:028-86922220 13518219792 公司地址:成都市太升南路288号锦天国际A幢10楼2号
企业邮箱:
service@cdxwcx.com
版权所有:成都创新互联科技有限公司 蜀ICP备09010846号
成都网站建设