频 道 直 达 - 新闻 - 培训 - 软件 - 教程 - 前沿 - 组网 - 系统应用 - 安全 - 编程 - 存储 - 操作系统 - 数据库 - 服务器 - 专题 - 产品 - 案例库 - 读书 - 博客 - BBS
51CTO.COM_中国最大的网络技术网站
找资料:

8.3.3 Ajax技术相关脚本文件

作者: 张桂元 贾燕枫 姜波 出处:人民邮电出版社  2008-05-08 23:51    砖    好    评论   进入论坛
阅读提示:《征服Ajax——Web 2.0快速入门与项目实践(Java)》本书结构清晰、注重实用、深入浅出,非常适合作为Eclipse中Ajax应用开发的自学或培训教材,同时,也适合作为Java Web开发人员的参考用书。本文介绍了Ajax技术相关脚本文件。

8.3.3  Ajax技术相关脚本文件

由于本系统适当使用了Ajax技术,以帮助实现浏览器客户端和服务器之间的交互,达到异步通信的目的,从而给用户更好的感受,为配合具体实现,涉及到了相关的JavaScript脚本文件,这些文件均统一放置在项目文件夹下的“images”文件夹中,然后在对应的JSP页面中,使用对应的链接语句将其引入。

下面对博客个人维护中心相关的脚本文件进行逐一介绍。

1.文章管理脚本文件(adminArticle.js)

该文件是在文章管理adminArticle.jsp页面中使用的脚本文件,主要用于处理装载文章、分类信息、删除文章信息等请求。具体代码及相关解释如下:

……
// 处理分类更改响应函数
function sortChangeResponse() {
if (XMLHttpReq.readyState == 4) { // 判断对象状态
if (XMLHttpReq.status == 200) { // 信息已经成功返回,开始处理信息
updateArticleList();
} else { //页面不正常
window.alert("您所请求的页面有异常。");
}
}
}
// 选择分类函数
function sortChange() {
var sortid = document.getElementById("sort").value;
var url = "action=show" + "&sortid="+ sortid;
createXMLHttpRequest();
XMLHttpReq.onreadystatechange = sortChangeResponse;
XMLHttpReq.open("POST", "adminArticle", true);
XMLHttpReq.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
XMLHttpReq.send(url);
}

    function updateArticleList() {
clearArticleList();
loadArticleList();  
}

    // 删除链接函数
function deleteArticle(id) {
var url = "adminArticle?action=delete" + "&articleid=" + id;
createXMLHttpRequest();
XMLHttpReq.onreadystatechange = DeleteStateChange;
XMLHttpReq.open("GET", url, true);
XMLHttpReq.send(null);
}
// 处理删除链接响应函数
function DeleteStateChange() {
if (XMLHttpReq.readyState == 4) { // 判断对象状态
if (XMLHttpReq.status == 200) { // 信息已经成功返回,开始处理信息
deleteArticleList();
} else { //页面不正常
window.alert("您所请求的页面有异常。");
}
}
}

    function deleteArticleList() {
deleteID = XMLHttpReq.responseXML.getElementsByTagName("id")[0].firstChild. nodeValue;
if (deleteID!=null){
var rowToDelete = document.getElementById(deleteID);
var articleList = document.getElementById("articleList");
articleList.removeChild(rowToDelete);
}
}

    // 页面装入请求函数
function loadRequest() {
var url = "adminArticle?action=load";
createXMLHttpRequest();
XMLHttpReq.onreadystatechange = loadResponse;
XMLHttpReq.open("GET", url, true);
XMLHttpReq.send(null);
}
// 页面装入处理函数
function loadResponse() {
if (XMLHttpReq.readyState == 4) { // 判断对象状态
if (XMLHttpReq.status == 200) { // 信息已经成功返回,开始处理信息
loadSortList();
loadArticleList();
} else { //页面不正常
window.alert("您所请求的页面有异常。");
}
}
}
// 装入分类列表函数
function loadSortList() {
var option = document.createElement("option");
option.appendChild(document.createTextNode("全部文章"));
option.setAttribute("value", "0");
sort.appendChild(option);
var xmlDoc =XMLHttpReq.responseXML;
var sorts = xmlDoc.getElementsByTagName("sort");
var currentSort = null;
for(var i = 0; i < sorts.length; i++) {
currentSort = sorts[i];
var id =currentSort.getElementsByTagName("id")[0].firstChild.nodeValue;
var name =currentSort.getElementsByTagName("name")[0].firstChild.nodeValue;

                option = document.createElement("option");
option.appendChild(document.createTextNode(name));
option.setAttribute("value", id);
sort.appendChild(option);
}
}
// 装入文章函数
function loadArticleList() {
var xmlDoc =XMLHttpReq.responseXML;
var articles = xmlDoc.getElementsByTagName("article");
var currentArticle = null;
for(var i = 0; i < articles.length; i++) {
currentArticle = articles[i];
var id =currentArticle.getElementsByTagName("id")[0].firstChild.nodeValue;
var name =currentArticle.getElementsByTagName("name")[0].firstChild.nodeValue;
var time =currentArticle.getElementsByTagName("time")[0].firstChild.nodeValue;
addOneArticle(id,name,time);
}
}
// 插入一行函数
function addOneArticle(id,name,time) {
var row = document.createElement("tr");
row.setAttribute("id", id);
var cell = document.createElement("td");
cell.appendChild(document.createTextNode(name));
row.appendChild(cell);

          cell = document.createElement("td");
cell.appendChild(document.createTextNode(time));
row.appendChild(cell);

          var deleteButton = document.createElement("input");
deleteButton.setAttribute("type", "button");
deleteButton.setAttribute("value", "删除");
deleteButton.onclick = function () { deleteArticle(id); };
cell = document.createElement("td");
cell.appendChild(deleteButton);
row.appendChild(cell);

          document.getElementById("articleList").appendChild(row);
}

    function clearArticleList() {
var article = document.getElementById("articleList");
while(article.childNodes.length > 0) {
article.removeChild(article.childNodes[0]);
}
}

2.文章分类管理脚本文件(adminSort.js)

该文件是在文章分类管理adminSort.jsp页面中使用的脚本文件,主要用于处理装载文章分类信息、添加及删除文章信息等请求。具体代码及相关解释如下:

……
// 处理增加类别响应函数
function AddStateChange() {
if (XMLHttpReq.readyState == 4) { // 判断对象状态
if (XMLHttpReq.status == 200) { // 信息已经成功返回,开始处理信息
AddSortList();
} else { //页面不正常
window.alert("您所请求的页面有异常。");
}
}
}
// 增加类别函数
function addSort() {
name = document.getElementById("name").value;
if(name == "" ) {
return;
}
var url = "action=add" + "&name="+ name;
createXMLHttpRequest();
XMLHttpReq.onreadystatechange = AddStateChange;
XMLHttpReq.open("POST", "adminSort", true);
XMLHttpReq.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
XMLHttpReq.send(url);
}

      function AddSortList() {
var AddID = XMLHttpReq.responseXML.getElementsByTagName("id")[0].firstChild.nodeValue;
if (AddID!=null){
addOneSort(AddID,name);
//清空输入框
document.getElementById("name").value = "";
}
}

    // 删除类别函数
function deleteSort(id) {
var url = "adminSort?action=delete" + "&id=" + id;
createXMLHttpRequest();
XMLHttpReq.onreadystatechange = DeleteStateChange;
XMLHttpReq.open("GET", url, true);
XMLHttpReq.send(null);
}
// 处理删除响应函数
function DeleteStateChange() {
if (XMLHttpReq.readyState == 4) { // 判断对象状态
if (XMLHttpReq.status == 200) { // 信息已经成功返回,开始处理信息
deleteSortList();
} else { //页面不正常
window.alert("您所请求的页面有异常。");
}
}
}

    function deleteSortList() {
deleteID = XMLHttpReq.responseXML.getElementsByTagName("id")[0].firstChild.nodeValue;
if (deleteID!=null){
var rowToDelete = document.getElementById(deleteID);
var sortList = document.getElementById("sortList");
sortList.removeChild(rowToDelete);
}
}

    // 页面装入请求函数
function loadRequest() {
var url = "adminSort?action=load";
createXMLHttpRequest();
XMLHttpReq.onreadystatechange = loadResponse;
XMLHttpReq.open("GET", url, true);
XMLHttpReq.send(null);
}
// 页面装入处理函数
function loadResponse() {
if (XMLHttpReq.readyState == 4) { // 判断对象状态
if (XMLHttpReq.status == 200) { // 信息已经成功返回,开始处理信息
loadSortList();
} else { //页面不正常
window.alert("您所请求的页面有异常。");
}
}
}
// 装入全部分类函数
function loadSortList() {
var xmlDoc =XMLHttpReq.responseXML;
 var sorts = xmlDoc.getElementsByTagName("sort");
 var currentSort = null;
 for(var i = 0; i < sorts.length; i++) {
currentSort = sorts[i];
var id =currentSort.getElementsByTagName("id")[0].firstChild.nodeValue;
var name =currentSort.getElementsByTagName("name")[0].firstChild.nodeValue;
addOneSort(id,name);    
}
}
// 插入一行函数
function addOneSort(id,name) {
var row = document.createElement("tr");
row.setAttribute("id", id);
var cell = document.createElement("td");
cell.appendChild(document.createTextNode(name));
row.appendChild(cell);

                 var deleteButton = document.createElement("input");
deleteButton.setAttribute("type", "button");
deleteButton.setAttribute("value", "删除");
deleteButton.onclick = function () { deleteSort(id); };
cell = document.createElement("td");
cell.appendChild(deleteButton);
row.appendChild(cell);

                 document.getElementById("sortList").appendChild(row);
}

3.链接管理脚本文件(adminLink.js)

该文件是在链接管理adminLink.jsp页面中使用的脚本文件,主要用于处理装载链接信息、添加及删除链接信息等请求。具体代码及相关解释如下:

……
// 处理增加链接响应函数
function AddStateChange() {
if (XMLHttpReq.readyState == 4) { // 判断对象状态
if (XMLHttpReq.status == 200) { // 信息已经成功返回,开始处理信息
AddLinkList();
} else { //页面不正常
window.alert("您所请求的页面有异常。");
}
}
}
// 增加链接函数
function addLink() {
var name = document.getElementById("name").value;
var url1 = document.getElementById("url").value;
if(name == "" ) {
return;
}
var url = "action=add" + "&name="+ name + "&url="+ url1;
createXMLHttpRequest();
XMLHttpReq.onreadystatechange = AddStateChange;
XMLHttpReq.open("POST", "adminLinks", true);
XMLHttpReq.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");   
XMLHttpReq.send(url);
}

    function AddLinkList() {
var xmlDoc =XMLHttpReq.responseXML;
var AddID = xmlDoc.getElementsByTagName("id")[0].firstChild.nodeValue;
var AddName = xmlDoc.getElementsByTagName("name")[0].firstChild.nodeValue;
var AddUrl = xmlDoc.getElementsByTagName("url")[0].firstChild.nodeValue;
if (AddID!=null){
addOneLink(AddID,AddName,AddUrl);
//清空输入框
document.getElementById("name").value = "";
document.getElementById("url").value = "";
}
}

     // 删除链接函数
function deleteLink(id) {
var url = "adminLinks?action=delete" + "&id=" + id;
createXMLHttpRequest();
XMLHttpReq.onreadystatechange = DeleteStateChange;
XMLHttpReq.open("GET", url, true);
XMLHttpReq.send(null);
}
// 处理删除链接响应函数
function DeleteStateChange() {
if (XMLHttpReq.readyState == 4) { // 判断对象状态
if (XMLHttpReq.status == 200) { // 信息已经成功返回,开始处理信息
deleteLinkList();
} else { //页面不正常
window.alert("您所请求的页面有异常。");
}
}
}

     function deleteLinkList() {
deleteID = XMLHttpReq.responseXML.getElementsByTagName("id")[0].firstChild. nodeValue;
if (deleteID!=null){
var rowToDelete = document.getElementById(deleteID);
var linkList = document.getElementById("linkList");
linkList.removeChild(rowToDelete);
}
}

    // 页面装入请求函数
function loadRequest() {
var url = "adminLinks?action=load";
createXMLHttpRequest();
XMLHttpReq.onreadystatechange = loadResponse;
XMLHttpReq.open("GET", url, true);
XMLHttpReq.send(null);
}
// 页面装入处理函数
function loadResponse() {
if (XMLHttpReq.readyState == 4) { // 判断对象状态
if (XMLHttpReq.status == 200) { // 信息已经成功返回,开始处理信息
loadLinkList();
} else { //页面不正常
window.alert("您所请求的页面有异常。");
}
}
}
// 装入全部链接函数
function loadLinkList() {
var xmlDoc =XMLHttpReq.responseXML;
var links = xmlDoc.getElementsByTagName("link");
var currentLink = null;
for(var i = 0; i < links.length; i++) {
currentLink = links[i];
var id =currentLink.getElementsByTagName("id")[0].firstChild.nodeValue;
var name =currentLink.getElementsByTagName("name")[0].firstChild.nodeValue;
var url =currentLink.getElementsByTagName("url")[0].firstChild.nodeValue;
addOneLink(id,name,url);    
}
}
// 插入一行函数
function addOneLink(id,name,url) {
var row = document.createElement("tr");
row.setAttribute("id", id);
var cell = document.createElement("td");
cell.appendChild(document.createTextNode(name));
row.appendChild(cell);

                  cell = document.createElement("td");
cell.appendChild(document.createTextNode(url));
row.appendChild(cell);

                  var deleteButton = document.createElement("input");
deleteButton.setAttribute("type", "button");
deleteButton.setAttribute("value", "删除");
deleteButton.onclick = function () { deleteLink(id); };
cell = document.createElement("td");
cell.appendChild(deleteButton);
row.appendChild(cell);

                  document.getElementById("linkList").appendChild(row);
}


回书目   上一节   下一节
关于 Ajax  Java
专题
Java实用开发全集
Java类的基础教程专题
Java发展动态专题
解析Ajax开发框架 走进Ajax开发应用
Ajax明天会HOT还是OVER?
我也说两句

匿名发表

(如果看不清请点击图片进行更换)


中 国 最 大 的 网 络 技 术 网 站 ·
技 术 成 就 梦 想
订阅技术快讯
电子杂志下载
名称:SQL Server数据库管理精品黄皮书
简介:书中文章经过精挑细选,便于用户能根据自己的实际工作和学习,快速在本书寻找到相关资料。内容涵盖了SQL Server的安装与升级、语句查询、数据备份和恢复、自动化任务、数据同步、数据字典、安全和预防、性能和优化、集群等各方面应用信息,以及DBA管理人员在数据库管理工作中
名称:2007路由技术大全
简介:《2007路由技术大全》由51CTO.com网站特别策划制作,该书包括路由器技术、路由器产品、路由器配置、安全设置、路由器故障处理、路由器密码恢复,以及广大网友在实践使用中的心得经验和技巧文章,内容注重实用性,适用于初学者入门,也适合多年从业者提高,是一本实践和理论完
名称:网络安全精品应用黄皮书
简介:《2007精品网络安全黄皮书》包括了9个大类24个小类, 800余篇文章,内容包含了熊猫烧香病毒、DDOS攻击、ARP病等热点问题的介绍及解决方案。从病毒查杀、防范、系统、数据等各方面的安全设置到黑客技术的了解、防范,涉及到了安全应用的全部领域, 由浅至深内容全面。
微软出价446亿美元收购雅虎
微软出价446亿美元收购雅虎
网络故障排除宝典
网络故障排除宝典
Vista SP1对决XP SP3
Vista SP1对决XP SP3
· Vista SP1对决XP SP3
· 华为路由器配置
· 2008年上半年全国软考..
· AIX操作系统管理应用(..
· 华为员工自杀频频拷问..
· 三层交换技术专题
· ARP攻击防范与解决方案
· 隐私保护技术探讨
· 反垃圾邮件技术应用
· 龙芯要做中国的“奔腾”
· Windows Server 2008专..
· AMD Phenom三核处理器..
· 路由器设置与口令恢复
· 微软Forefront企业安全..
· LAMP技术精解
· 企业数据恢复指南
ARP攻击防范与解决方案
ARP攻击防范与解决方案
iSCSI应用与发展
iSCSI应用与发展
SQL Server 2008/2005全解
SQL Server 2008/2005全解
· SQL Server 2008/2005..
· SOA 面向服务架构
· SQL Server 2008/2005..
· iSCSI应用与发展
· RAID——磁盘阵列基础
· Apache技术专题
· 中间件应用技术专题
· 三层交换技术专题
· SQL Server入门到精通
· Apache技术专题
· 国际文档格式标准开战
· 路由器设置与口令恢复
· 打造安全服务器
· PHP开发应用手册
· SOA 面向服务架构
· 企业数据恢复指南
ARP攻击防范与解决方案
ARP攻击防范与解决方案
SQL Server 2008/2005全解
SQL Server 2008/2005全解
iSCSI应用与发展
iSCSI应用与发展
· iSCSI应用与发展
· 中间件应用技术专题
· SQL Server入门到精通
· SQL Server 2008/2005..
· SOA 面向服务架构
· Apache技术专题
· iSCSI应用与发展
· 三层交换技术专题
· Apache技术专题
· 企业数据恢复指南
· RAID——磁盘阵列基础
· 路由器设置与口令恢复
· SOA 面向服务架构
· ADSL应用面面俱到
· ADSL应用面面俱到
· 反垃圾邮件技术应用