到 Google 资讯主页   
EasyJF首页   资料   源码   软件    论坛   网站    
   使用帮助    
    该信息为本站MyRSS系统缓存内容,部分图片及附件有可能无法正常使用.easyjf.comBlogJava无关,不对该信息负责.通过http://kb.csdn.net/keyword/java//../../java/Articles/200605/60f9d012-a8b9-4b74-8837-4f4f3b532667.html访问该信息的原始内容.
页面功能  【加入收藏】 【推荐给朋友】 【字体:  】 【关闭】   
通用代码之一: 轻松使用Ajax
作者:潜心 来源:BlogJava  发布时间:2006-05-25 00:00:00.0

最近在工作的时候总结了一套ajax的简易使用方法,通用性极好,给我的工作带来了不少效率上的提高,先贴出来给大家参考:
一,先建一个ajax.js的文件,文件的内容如下:
var http_request = false;
var callback_func;

function sendRequest(url, argstr, func, method) {

? http_request = false;
? callback_func = func;

? if (window.XMLHttpRequest) { // Mozilla, Safari,...
??? http_request = new XMLHttpRequest();
??? if (http_request.overrideMimeType) {
????? http_request.overrideMimeType('text/xml');
??? }
? } else if (window.ActiveXObject) { // IE
??? try {
????? http_request = new ActiveXObject("Msxml2.XMLHTTP");
??? } catch (e) {
????? try {
??????? http_request = new ActiveXObject("Microsoft.XMLHTTP");
????? } catch (e) {}
??? }
? }

? if (!http_request) {
??? alert('Giving up :( Cannot create an XMLHTTP instance');
??? return false;
? }
? http_request.onreadystatechange = alertContents;
?
? if (method == 'GET') {
??? http_request.open('GET', url + '?' + argstr, true);
??? http_request.send(null);
? } else {
??? http_request.open('POST', url, true);
??? http_request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=GBK");
??? http_request.send(argstr);
? }
}

function alertContents() {

? if (http_request.readyState == 4) {
??? if (http_request.status == 200) {
????? callback_func(http_request.responseText);
??? } else {
????? alert('There was a problem with the request.');
??? }
? }
}

二,在页面使用如下代码将js文件包含进来:
<script language=javascript src="ajax.js"></script>

三,在页面调用sendRequest(...)方法:
如:<a href="javascript:sendRequest('hello.jsp',param,function,'GET')" >调用AJAX</a>
或:<input type="button" value="提交" onclick="sendRequest('getInfo.do',param,function,'POST')" />
注释(以第一个为例):
hello.jsp:? 这个例子采用ajax通过一个链接请求hello.jsp页面,
param:?? 为参数,可以为空,也可以不为空,比如name=value&password=123456,也可以通过把一个表单(form)的字段组合起来作为一个字符串传递
过去,???
?function: 是你自己写的一个函数,用于处理返回的内容,一般的处理是
将返回的内容显示在页面,一个典型的例子:
???function search(str){
?????????alert(str); //用于调试.
????????myId.innerHTML = str;
?? }
GET: 是请求的方法,简单的说,get代表请求一个资源,post代表提交参数并请求资源.


任何疑问,可以联系本人:diego.liu@163.com



潜心 2006-05-25 13:01

 
相关文章
 
页面功能  【加入收藏】 【推荐给朋友】 【字体:  】 【关闭】   


EasyJF.com 2006 隐私政策 使用EasyJF前必读