关于ajax的问题

最近准备开始一个小项目,在前台处理的时候要做一些可以拖动的控件,准备用Ajax实现,由于原来一直没有接触过Ajax技术,而后台还是用JAVA实现,1.想问问如果这样到后面前台和后台之间整合会不会比较麻烦?
2.还有就是怎么样能够快速的掌握Ajax技术?

快速的掌握AJAX,其实就是一个XMLHTTP对象.然后用OPEN方法发送到servlet,再写一个JS判断是否提交成功,解析后台的数据,不要把AJAX想的太复杂
[code="java"]
//ajax初始化
var XMLHttpReq = false;
function createXMLHttpRequest() {
if (window.XMLHttpRequest) {
XMLHttpReq = new XMLHttpRequest();
} else {
if (window.ActiveXObject) {
try {
XMLHttpReq = new ActiveXObject("Msxml2.XMLHTTP");
}
catch (e) {
try {
XMLHttpReq = new ActiveXObject("Microsoft.XMLHTTP");
}
catch (e) {
}
}
}
}
}
//通用ajax返回方法(提交方法,提交url,提交返回名)
function ajaxProcessBase(method, url, content) {
createXMLHttpRequest();
XMLHttpReq.open(method, url, true);
if (method == "post") {
XMLHttpReq.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
}
XMLHttpReq.onreadystatechange = content;
XMLHttpReq.setRequestHeader("If-Modified-Since","0")
XMLHttpReq.send(null);
}
//ajax接收通用方法
function isAjax() {
if (XMLHttpReq.readyState == 4) {
if (XMLHttpReq.status == 200) {
return true;
} else {
alert("Problem: " + XMLHttpReq.statusText);
}
}
return false;
}

使用的时候调用ajaxProcessBase方法,再写一个ajaxProcessBase方法后面的返回名的JS函数来接收处理返回的信息...
上面的方法是我从以前写的方法中抽象出来的...通用一点
[/code]

拖动效果还是javascript 来说 Ajax只是异步到后台servlet去数据到 javascript 变量里面而已

如果大量涉及前后台交互的话,应该采用ajax,但你只是为了实现拖动的效果,用这个没必要,用flash或者javascript把

你对AJAX了解不多,其实AJAX很简单,只是实现异步的交互,原理和servlet一样,只是他不刷新页面.主要的代码量还是在JS和JAVA上,JS处理后台传回的数据(建议使用XML,这样你取数据会比较方便),JAVA写访问数据,和你平常写的JAVA类一样,

至于你所说的拖动控件,使用JS+DIV会比较好,当需要设计到后台数据的时候可以使用AJAX来传送数据,其实AJAX很多也就是JS解析你发送回来的数据.

1.麻烦肯定是要麻烦.要获得良好的用户体验,总要付出一些努力.

2.想要快速学好ajax,首先从XmlHttp对象开始学起.弄懂它,基本上就会了一大半了.弄清楚原理就ok了,没有必要再去深究.
现在很多成熟的框架都对ajax做了良好的封装,文档,范例都很齐全,
可以考虑使用这些框架提供的ajax封装进行开发.因为这样可以不用担心兼容性及稳定性的问题,而且使用起来也是非常的简单和方便的.

现在Ajax技术已经很成熟了,有很多第三方的组件封装了Ajax技术,如mootools、JQuery、Ext、dwr、PHPRPC等等,这些组件不需要你实现Ajax技术的封装,你只需要调用他方法就可以了,我本人对上面提到的几个组件都比较熟,尤其是mootools。举个mootools中的例子,异步调用请求只需要调用组件中的,new Ajax(url:'请求的URL',{method:'get',onComplete:{接收Response需要处理的动作}}).request();这样就可以实现Ajax技术了,其他组件的可以参考他们的文档。
Ajax技术前台与后台的搭配,其实和一般的WEB程序差不多,本人建议不要使用第三方的中间层框架,比如Struts、Webwork等等,直接使用Servlet最好不过了,当然要使用Ajax技术,还需熟练的使用JavaScript,毕竟是通过JavaScript来实现Ajax技术的嘛。
后台传递到前台的数据,通过Ajax传递一般都是用JSON数组,JSON数组是一个轻量级的数组,在Java中其实就是Map类型的对象,现在有个不错的开源代码,可以很快的生成JSON数组,并传到前段去,这个组件就是JSONArray、JSONObject,可以到网上搜下这个包,很实用的工具包。