版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、基于Web开发的美婚电子商务网站的设计与实现浙江理工大学科技与艺术学院本科毕业论文开题报告 开题报告08信管(2)班 Xc08540202 傅俊涛一、研究背景与选题意义(一)研究背景随着电子计算机和通信技术的发展,人类已经逐渐地进入信息化社会。信息和能源一样成为一种社会的基本生产资料,在人类的社会生产活动中发挥着重要的作用。同时电子商务这个新兴行业也逐渐在人们的生活中融入,“京东商城”,“淘宝网”,“凡客”,“当当网”这些网站也逐渐被人们熟悉,成为电子商务行业中的领头羊。因此,开发相关的产业的电子商务的这种网络营销模式已经成为各行各业的必要和必需了,对内来看,可以提高工作效率;对外来看,获得竞
2、争优势.。据研究报告表明,目前我国的结婚人数呈逐年增长的态势,同时随着人们的生活水平和文化需求的不断提高,这使得婚庆消费市场的需求空间不断膨胀,结婚所涉及的项目与内容也正在不断扩展中,婚纱礼服、婚纱摄影、婚礼服务、婚宴、婚车等等,婚庆服务业正迅速成长成为一个新兴的,充满机遇的朝阳产业 。但是婚庆市场发展却不可避免地进入了瓶颈期,婚礼的策划和婚宴的预定无法达成高效的互动,致使婚礼质量大大降低。传统婚宴酒店预定的模式已经不能满足日益庞大的消费用户,预订酒店婚宴难的状况也日益严峻。准新人们常常面临现实的考验,第一次结婚没有经验,不知道哪家酒店举办婚宴比较好,面对遍地的酒店却无从选择,对婚宴市场也有着
3、太多的不了解。年轻的80后习惯于运用互联网来解决问题,但是在2010年之前,互联网上有关婚宴预订的信息却是空洞贫乏的。有关婚宴酒店预约的消息寥寥,难得挑选到一家双方都满意的婚宴酒店,又因为档期问题,最终没有订成。2011年后,一种新型的婚宴预定电子商务平台出现在了大众的视野。上海的“篱笆网”,杭州的“喜金刚”就是典型的案例,成为了敢于第一个吃螃蟹的人。如今各位80后新人们可以在网上轻松浏览婚宴酒店信息,一键预定。婚宴预定电子商务平台的出现是一个互联网时代下的伟大创新。人们也不能再拘泥于传统的婚宴预定模式,而是顺应时代发展的步伐,适应当代人的需求,将婚宴酒店预定和电子商务紧密结合在一起,给结婚的
4、新人提供一个更方便、更快捷的平台。在这种大的社会背景下,我选择了“婚庆电子商务网站”这个方向作为论文,符合时代的需求。(二)国内外相关研究现状与发展趋势分析随着国内外电子商务的不断发展,针对某具体产业或行业的网络营销策略研究也正在不断深入。例如网络营销在产品展示、个性化定制、即时客户服 务等方面的优势使其在零售业发挥着巨大作用,某些企业甚至将其放在了整体营销的主导地位,著名的例子有亚马逊和DELL。由于网络营销的主要目的和优势集中在提供更优质的服务,因此这些经验和策略对服务类行业来说自然也适用。国内著名的电子商务网站随着时代的发展层出不穷,如“京东商城”,“凡客”,马云的“阿里巴巴”,“淘宝网
5、”等等。国内外相关研究现状有以下几点:(一)现代意义上的婚庆服务业诞生时间较短,起步尚晚。我国在2010年才刚开始有了第一批敢在网上进行婚庆电子商务的创优争先者。之前互联网上有关婚宴预订等内容十分空洞匮乏。作为行业协会龙头的中国社会工作协会婚庆行业委员会及上海、北京、广州等大城市行业协会在产业调研、分析和研究 方面的工作均不够完善。对照其它较成熟的服务行业不难发现,目前针对行业本身的系统研究尚显薄弱,更别说在网络上进行电子商务了。另外通过查阅浙江理工大学图书馆中国知网( )全国 期刊论文数据库(2000-2012年)、全国优秀硕士学位毕业论文数据库(2000-2012年) 和全国优秀博士学位毕
6、业论文数据库(2000-2012年)以及通过几个常用网络搜索引擎查阅,不难发现,直接有关婚庆服务业中电子商务研究方面的文章或论文基本为零。(二)婚庆服务业缺乏核心竞争力。婚庆行业的核心竞争力应是文化牌 、创意。目前人们对婚庆行业品牌意识、创意意识淡薄, 对婚庆行业的核心是文化创意缺乏足够的认识。从业者对婚庆服务业都还仅仅停留在结婚,婚车,婚宴。创新意识淡薄,无法满足这个高速发展,信息化的时代的现状,要知道结婚对于准新人来说是人生中最重大的一件事情,根据调查显示,新人们一生的积蓄在结婚的操办上的占有率为30%,这巨大的利益空间使得婚庆在电子商务中有不可估量的前景,“钱”途无量。然而核心竞争力的缺
7、乏使得婚庆服务业一直在原地踏步。(三)行业人才匮乏,高素质人才更是凤毛麟角随着婚庆服务行业的快速发展和高档婚庆市场的不断扩大,只有具备专业背景、知识面广、理论基础扎实、沟通协调能力强、熟悉相关法律法规的人才,才能适应智能化、网络化、信息化等高质量服务的要求。行业的发展离不开人才的培养和引进,现代婚庆服务行业的兴起也需要高素质的人才做中流砥柱。但婚庆服务行业发展还不健全,其社会地位和影响力还很低下。传统的物业管理行业由于定位为定点等顾客,就跟超市里的商品一样,等待准新人的到来,然而各个婚庆公司坐落离散,导致很多商机大量流失。这种情况把高素质人才阻挡在婚庆服务行业之外,加剧了行业人才的供需矛盾。同
8、时有些婚庆公司的员工文化水平不高,缺乏必要的文化知识和专业技能,有些人甚至连上岗证都不需要就可以直接在店里工作,没有形成专业集团化的服务团队,导致服务难以到位,其直接影响了婚庆公司的竞争生存能力。当然在电子商务下的婚庆服务业也还是有很大的发展前景的,其发展趋势有以下几点:(一)婚庆服务公司逐步成为行业带头者婚庆服务公司它将以前多由消费者承担的工作承揽下来,使消费者回归本来的身份,然后以项目经理的身份监管协调整个婚礼庆典项目的举办并单方面对消费者负责。这种模式在相类似行业如装修装潢、广告策划业已运行成熟并得到了认可。 婚庆服务公司牵头也给行业规范和市场监管带来了便利。鉴于婚庆服务行业的定义和范畴
9、尚欠精确,许多参与者都为跨行经营,一对多的管理现状存在着职责不清、制度条例不适用、无监管处罚依据等诸多不利因素。婚庆服务公司牵头后,上述问题可以得到较好的解决从而有效地推动行业发展。(二)整合提供商率先强大毫无疑问,最先做大做强的必然是能最先提供整合服务的提供商,一些从事关键产品和服务或掌握重要资源的企业会成为行业的先驱。 如上海锦江摩可婚庆礼仪服务公司,主攻高端,目标是迅速占领 10%以上上海婚庆市场。其优势就在于日方掌握了摄像摄影、美容美发和婚纱礼服方面的先进技术和潮流。而上海锦江集团在餐饮、旅游、婚车等关键资源方面有着深厚背景,强强合作、资源互补的方式使其在进入市场后就占领了制高点。 而
10、国内婚庆服务业领先者花嫁喜铺的发展则采用了不断强化核心优势,逐步整合上下游,转为连锁化经营的方式。该企业从批发喜庆用品起家,通过独到的策划与包 装做稳婚庆服务主业后,不断联合并购上下游以提供整合性服务,在产品系列化和规 模化后转为连锁加盟形式来推广品牌。目前在全国范围已有上百家加盟企业,其目标直指“婚庆业的麦当劳”。(三)小企业互补联盟从事非关键产品或服务的企业会自动选择靠拢寻求集群效应,然后从最接近的上下游开始寻求松散性质的联盟合作,最终在某个契机将达成大联盟的形式。目前很多行业的第一步都已经达成,如苏州的婚纱一条街、上海老城隍庙批发市场的喜庆用品集市等即为自发或者组织形成的某一产品集中地,
11、利用产生的集群效应和所在地的品牌效应来提高各自市场份额。第二步也已经有人迈出,如大影楼多提供婚礼当天的化妆和摄影摄像;鲜花婚车业通过婚庆服务公司来开拓市场;图文制作公司则从摄影或者婚庆服务公司处寻求外包工作。 敏锐者已经在寻求第三阶段实现的可能性。在杭州,一个超过 6000 平的婚庆市场已于 2006 年成立,招商对象即为婚庆服务相关的各类中小企业,其目的就是提供一个互补经营加统一管理的平台。策略上,品牌塑造和推广以平台出面,平台本身不参与经营而是在制定了游戏规则后提供管理和监督。此举对提供商而言,在集群效应和品牌效应下,能较轻松地提高市场份额和拓展上下游;对消费者而言,平台提供了便利、信赖感
12、和品质保障,而对该地区整个行业的发展而言,也将形成一定的推动,如一些不遵循游戏规则的扰乱者将被自发的摈弃在外,不公平竞争现象将大大减少,有利于品牌连锁出现等。 婚庆展览会也是联盟方式的一种。目前北京、上海、成都等地均有不定期婚庆展, 其中中国国际婚博会已成功举办四届,集合了国内外十余个相关行业数百家参展企业,是国内规模最大、参观人数最多的婚庆展。(四)电子商务在企业整体营销中的比重将不断增加前文从三个角度描述了婚庆服务业的现状和特点,从这些特点存在的角度来看,电子商务在企业未来的整体营销中大有用武之地。产品角度来看,由于未来的产品将更趋复杂化和个性化,对产品展示、提供商和客户之间沟通的要求越来
13、越高,通过网络营销的策略和手段一能更全面地展示产品甚至提升产品的质量;二能更好地进行在线销售、促销等活动;三能建立更有效、更便捷的沟通渠道,架起提供从售前、售中到售后供求双方之间联系的桥梁。消费者需求角度来看,时尚、潮流和性价比是他们追求的目标,通过网络,提供商能迅速地搜集世界各国的最新产品潮流和趋势,把握热点,再通过自己的整合和加工,提供给消费者更好的产品和服务,消费者也可以通过网络明晰自己对产品的需求并反馈给提供商,两者之间可形成有效的互动。提供商角度来看,电子商务的开展有助于企业提升企业知名度和吸引忠实客户群,从而为企业整体营销更好地服务。(三)选题意义首先,婚庆服务业和网络营销均处于新
14、兴阶段并在飞速发展中,各自领域前景广阔,对两者的结合加以研究无疑有着积极意义。由于这方面的研究目前还处于起步阶段,尚未形成氛围和体系,理论的相对缺失也阻碍了发展步伐,希望本文的探讨能起到抛砖引玉的作用,使更多的人产生兴趣并投入其中,一起完善相关的理论研究。 其次,作为难得的新兴朝阳产业,婚庆服务业目前正好发展到了一个瓶颈阶段,突出表现为市场缺乏行业规范和引导、产品同质化严重、以牺牲产品质量为代价大打 价格战等,研究如何从中突围不仅是为了更好的生存,更可以为未来的发展指明方向。通过电子商务的运用可以大大开辟战场、营造品牌、建设壁垒。提高婚庆服务业的质量方面起到了积极作用,具有一定的经济效益和较大
15、的社会效益。二、研究的主要内容与拟解决的关键问题(一)研究的主要内容(1)网站各个模块功能的研究设计:尽量采用婚庆服务行业中现有的软硬件环境以及电子商务网站开发方案,从而达到充分利用现有资源,提高网站开发水平和应用效果的目的。网站应完全符合新人对婚庆服务的需求,满足对婚宴、婚纱摄影等服务的需要。通过调研情况进行需求分析,进行网站的划分和功能的界定,并对各个板块的具体内容进行编码实现。(2) 良好的数据导入与导出系统设计:所创办的婚庆电子商务网站后台系统充分具备数据库的维护功能,可以及时根据网站的需求对数据库中的信息进行添加、删除、修改等操作。 (3) 后期维护:所开发的婚庆电子商务网站采用模块
16、化设计方法,收到既便于网站项目的各种组合和修改,又便于未参与开发的技术维护人员补充、维护的效果。(二)拟解决的关键问题(1) 在网站婚宴模块中,对网站所有婚宴资料的录入和增、删、改、查询等功能实现,在基于这些婚宴项目对网站进行管理。(2) 在网站婚纱摄影模块中,对网站所有婚纱摄影资料的录入和增、删、改、查询等功能实现,在基于这些婚纱摄影项目对网站进行管理。(3) 在网站婚戒首饰模块中,对网站所有婚戒首饰资料的录入和增、删、改、查询等功能实现,在基于这些婚戒首饰项目对网站进行管理。(4) 在网站美婚咨询模块中,对网站所有美婚新闻的录入和增、删、改、查询等功能实现,在基于这些美婚新闻项目对网站进行
17、管理。(5) 在网站幸福相册模块中,对新人的各种幸福瞬间进行录入,编辑,管理。(6) 在网站留言板模块中,进行编辑管理。(4) 在具有了所有的基本资料信息后,需要实现实质性的后台管理。后台管理主要的管理包括:会员管理、婚宴管理、婚纱摄影管理、婚戒管理、美婚咨询管理、相册管理、留言板管理。这些成为网站管理的主体。三、可行性分析(一)经济可行性分析本网站对经济上没有太多的要求,只要具备计算机及相应的运行软件即可开发。项目成功后,数据信息的处理加快,可以节省人力,节约时间。而且网站对于输入输出的规范,也提高了数据可用性,增强了网站安全系数,能够更方便、简单、快速地查询婚宴、婚纱摄影、婚戒、婚庆新闻、
18、新人晒片、咨询留言板等各个方面的信息,方便新人对结婚有多元化的选择,对提高结婚质量和婚庆服务有一定得现实意义。(二)技术可行性分析随着计算机技术的发展,要将对婚庆服务从原始的店面管理服务转化为信息化管理服务,是有很强的可行性的。本设计要做的只是针对婚庆服务工作来开发出适用的电子商务网站,面向Windows操作系统,以Microsoft SQL Server 2000作为后台数据库,并从数据库的应用和开发的实效性角度出发,采用ASP.NET做为开发工具。在之前做过的课程设计中,都是通过这两种开发工具来实现的,因此在技术上不存在问题。(三)操作可行性分析本网站基于Web开发设计,界面简单,干净,一
19、目了然。新人可以快速熟悉和查找自己想要的婚庆服务项目,项目类别花样多,对新人有更多的选择性,类似于网站购物,简单,安全。工作人员后台管理更加方便,可以及时对网站信息进行增加,删除,修改。四、总体研究思路与方法、预期研究成果(一)总体研究思路与方法要想婚庆网站能够持续发展下去,最关键的就是要吸引足够多人来网站注册并参与活动。所以,网站的推广是最关键的,网站必须要有自己的特色和人性化的服务。根据美婚电子商务网站的设计,网站前台的主要模块有网站首页、婚宴、婚纱摄影、婚戒首饰、美婚咨询、幸福相册、留言板模块。开发过程中可以将网站解成为几个功能模块来分别设计。下图为网站前台功能模块图(图一):图一 网站
20、前台功能模块图管理员进入后台管理界面后可以对整个网站进行管理,包括:会员管理,婚宴管理,婚纱摄影管理,婚戒首饰管理,新闻管理,相册管理,留言管理等。会员管理:管理员可以对会员信息进行删除和查看,但是不能查看会员密码。婚宴酒店管理:管理员可以对婚宴酒店信息进行增加,删除,修改。婚纱摄影管理:管理员可以对婚纱摄影信息进行增加,删除,修改。婚戒首饰管理:管理员可以对婚戒首饰信息进行增加,删除,修改。新闻管理:管理员可以对新闻信息进行增加,删除,修改。相册管理:管理员可以对相册信息进行增加,删除,修改。留言管理:管理员可以对留言信息进行删除和查看,但是不能增加和修改。会员订单信息管理:管理员可以对订单
21、信息进行删除和查看,但是不能修改和增加。下图为网站后台功能模块图(图二): 图二 网站后台功能模块图系统流程是会员对于婚摄套餐进行处理的综合过程如图三所示。 图三 系统流程图基于以上设计原则,本网站设计了一个数据库,多个数据表,包含管理员,会员信息,婚宴酒店信息,新闻信息,留言信息等几个表。本网站中的相关数据库结构设计如表1,表2,表3等所示。 表1 admin (管理员)表字段名称字段类型宽度小数位ID号自动编号用户名密码 表2 会员信息表字段名称字段类型宽度小数位会员昵称会员E-Mail会员手机号码会员联系地址备注 表3 留言信息表字段名称留言编号留言ID留言信息内容留言日期处理情况 表4
22、 新闻信息表字段名称新闻编号新闻标题新闻内容新闻类别添加新闻的日期 表5 会员订单信息表字段名称订单编号会员昵称订单日期订单内容订单费用表6 婚宴酒店信息表字段名称婚宴酒店编号婚宴酒店名称婚宴酒店内容婚宴酒店费用婚宴酒店档期婚宴酒店类别在管理员登入模块中,输入用户名,密码。点击登入按钮,登录核验成功后,显示管理员的功能选择页面。管理员后台登录后进入功能选择界面,可以选择婚宴酒店管理,婚纱摄影管理,婚戒首饰管理,新闻管理,相册管理,留言管理等栏目,再做相应的操作。会员管理信息模块说明:会员信息包括会员昵称,会员E-Mail,会员手机号码等基本信息,如果信息格式正确则系统提示添加成功。留言信息管理
23、模块说明:该模块包括留言编号,留言ID,留言信息内容,留言日期和处理情况。新闻信息管理模块说明:就是简单的增删改。会员订单信息管理模块说明:该模块的主要功能是对会员订单信息进行处理,其中包括订单编号,会员昵称,订单日期,订单内容及所有费用明细。婚宴酒店信息管理模块说明:该模块主要是对酒店信息进行录入,包括婚宴酒店编号,婚宴酒店名称,婚宴酒店内容,婚宴酒店费用,婚宴酒店档期,婚宴酒店类别。(二)预期研究成果本文实现了一个婚庆的电子商务网站,该网站面向婚庆服务业的大多数事任,包括婚庆的婚宴酒店信息管理,婚纱摄影信息管理,婚戒首饰信息管理等业务处理工作,是为了利用计算机发展婚庆服务业而开发的网站,网
24、站后台管理共分为会员信息管理,留言信息管理,会员订单信息管理,新闻信息管理,婚宴酒店信息管理等,网站管理模块,其业务基本涵盖了婚庆服务业的各个方面。五、论文大纲摘要第一章 绪论1.1 选题背景与意义1.2 论文的主要工作和解决的问题。第二章 婚庆电子商务网站的市场分析与定位2.1 经营环境与市场现状分析2.2 目标市场定位分析2.3 婚庆电子商务网站的市场前景第三章 婚庆电子商务网站的功能分析3.1婚庆电子商务网站功能需求分析3.2网站体系结构分析设计第四章 婚庆电子商务网站的设计与实现4.1前台网站制作模块4.2后台综合管理模块4.3数据库设计第五章 总结与展望第六章 参考文献附录资料:从
25、XML 生成可与 Ajax 共同使用的 JSON时下,非常流行使用 JavaScript 代码为数据驱动的 Web 应用程序添加互动性。若能将数据编码成 JavaScript Object Notation(JSON)的格式,您就可以更轻松地通过 JavaScript 语言使用它。通过本文,发掘使用 XSLT V2 从 XML 数据生成 JSON 的几种不同方法。几年前,许多开发人员很看好 XML、XSLT、Extensible HTML (XHTML)和其他一些基于标记的语言。现在,Asynchronous JavaScript and XML(AJAX)成了新的热点,人们又将目光转向了使用
26、 JavaScript 代码的数据驱动的富 Internet 应用程序。但是开发人员是否已经消除了 XML 和这一新技术之间的鸿沟呢?当然,您可以在 Web 客户机中使用 XML 解析器来读取数据,但这种做法会带来两个问题。第一,出于安全方面的原因,XML 数据只能从与此页面相同的那个域中读取。这虽然不是什么大的限制因素,但它的确会引起部署方面的问题,还会阻碍 DHTML 小部件的创建。第二,读取和解析 XML 会非常慢。另一种做法是让服务器执行 XML 的解析工作,方法是设置服务器,使之向浏览器发送以 JavaScript 代码或时下流行的 JavaScript Object Notatio
27、n(JSON)编码的数据。本文将展示如下三种使用 XSLT V2 语言和 Saxon XSLT V2 处理器从 XML 数据生成 JSON 的技巧: 简单编码 通过函数调用加载数据 编码对象 JSON 简介要学习如何将数据编码成 JSON(它只是 JavaScript 的一个子集),最好的方法是从数据开始。清单 1 显示了书籍列表的一个示例 XML 数据集。清单 1. 基本的图形化图书馆 Code Generation in Action JackHerrington Manning PHP Hacks JackHerrington OReilly Podcasting Hacks JackH
28、errington OReilly 这个数据集很简单,只包含三本书,每本书都具有惟一的 ID、书名、作者姓名及出版商的名字。(没错,我只选择了我自己的书作为数据集,但能怨我吗?这些书实在是不可多得的节日和生日礼物。)清单 2 显示了这些数据在 JSON 中的效果。清单 2. JSON 中的示例数据集 id: 1, title: Code Generation in Action, first: Jack, last: Herrington, publisher: Manning , . 方括号 () 表明这是一个数组。大括号 () 则表明这是一个散列表,该散列表由一组名称和值对组成。在本例中,
29、我创建了一个散列表的数组 用来存储这类结构式数据的一种常见方法。另外一点值得注意的是字符串是通过单引号或双引号被编码的。所以,如果我想用单引号编码 OReilly,我就必须使用反斜杠对它进行转义:OReilly。 这让我编写的这个 XSLT 样式表更为有趣了一些。我并未在本例中放上任何日期,但您也可以通过如下两种方法来编码日期。第一种方法是将日期作为字符串,该字符串必须在后面被解析。第二种方法是将日期作为一个对象,比如:publishdate: new Date( 2006, 6, 16, 17, 45, 0 )这段代码将 publishdate 的值设置为6/16/2006 5:45:00
30、p.m.。简单编码接下来我将陆续介绍 JSON 编码的几种技巧。第一种也是其中最简单的一种,此样式表如 清单 3 所示。清单 3. simple.xsl 样式表 var g_books = 1, id: ,name: ,first: ,last: ,publisher: ;要理解此样式表,不妨先来看一下 清单 4 所示的输出。清单 4. simple.xsl 的输出var g_books = id: 1,name: Code Generation in Action,first: Jack,last: Herrington,publisher: Manning, id: 2,name: PHP
31、 Hacks,first: Jack,last: Herrington,publisher: OReilly, id: 3,name: Podcasting Hacks,first: Jack,last: Herrington,publisher: OReilly;这里,我将名为 g_books 的变量设置为一个包含三个散列表的数组,每个散列表包含关于该书的信息。再回过头来看看 清单 3,您会发现第一个模板匹配 / 路径,它也是首先应用到输入数据集的模板,该模板使用 for-each 循环来遍历每本书。之后,它使用 标记来将文本从该数据输出到 JavaScript 输出代码。对于字符串,我使用
32、名为 js:escape() 的定制函数,它在模板之前定义。该函数使用一个正则表达式将一个单引号标记更改为带有反斜杠的单引号标记。最后一个重要的元素是 标记,它告知处理器要输出的是文本而不是 XML。要检验此过程是否可以正常工作,我加入了一个 simple .html 文件,该文件引用我在 simple.js 保存的 XSL 样式表的输出。这个 HTML 文件如 清单 5 所示。清单 5. simple.html 文件Simple JS loaderdocument.write( Found +g_books.length+ books );.html 文件使用 标记简单地加载已编码了的 Ja
33、vaScript 代码。之后,第二个 标记将数组的长度写出到浏览器页面,如 图 1 所示。图 1. simple.html 的输出好了!数据文件包含三本书,相应的 JavaScript 文件也包含三本书。它真的可以工作!通过函数加载上述第一个示例很简单,而且在大多数情况下可以发挥其作用,但它存在一些问题。第一个问题是对于数据何时被加载没有任何提示。如果数据是像页面那样被静态加载的,这不成问题。但是如果页面动态创建了一个 标记来按需加载数据,那么就很有必要知道 标记是何时完成的。实现此功能的最好的方法是让编码了的数据调用一个 JavaScript 函数,而不是只设置数据。这个概念很重要,所以我将
34、花一些时间来介绍一下为什么您必须要通过动态生成的 标记来加载数据。页面加载后,从服务器获得数据是 Web 2.0 的核心功能。一种方法是使用 AJAX 机制通过到服务器的调用来加载 XML。然而,出于安全性的原因,AJAX 机制只限于从单一域获取数据。这在大多数情况下都没有问题,但有时,您可能需要 JavaScript 代码运行在他人的页面上(例如,Google Maps)。在这种情况下从服务器获得数据的惟一方法是通过动态加载 标记。获悉 标记何时加载的最好的方法是让 标记返回的脚本调用函数而不是简单地加载数据。清单 6 显示了在函数调用中编码的数据。清单 6. Function1.jsAdd
35、Books( id: 1,name: Code Generation in Action,first: Jack,last: Herrington,publisher: Manning, id: 2,name: PHP Hacks,first: Jack,last: Herrington,publisher: OReilly, id: 3,name: Podcasting Hacks,first: Jack,last: Herrington,publisher: OReilly );清单 7 给出了相应的 .html 文件。清单 7. Function1.htmlFunction 1 JS l
36、oadervar g_books = ;function AddBooks( books ) g_books = books; drawbooks( g_books );稍后将详细介绍 drawbooks 函数。这里重要的是了解一下页面如何定义 AddBooks 函数,该函数随后会由 function1.js 文件中的脚本调用。该 AddBooks 函数负责处理数据。而且被调用的 AddBooks 函数会向页面指示 标记被正确加载,并已加载完成。要创建 function1.js 文件,我只对样式表稍微做了一点修改,如 清单 8 所示。清单 8. function1.xsl 样式表AddBook
37、s( 1, id: ,name: ,first: ,last: ,publisher: );这里,我调用了一个函数,而不是简单地设置一个变量。这就是我所做的惟一更改。回到页面,我使用了 drawbooks 函数来构建书的表格,这样我就能够确认数据被正确编码和正确显示。此函数是在 drawbooks.js 内定义的,如 清单 9 所示。清单 9. Drawbooks.jsfunction drawbooks( books ) var elTable = document.createElement( table ); for( var b in books ) var elTR = elTabl
38、e.insertRow( -1 ); var elTD1 = elTR.insertCell( -1 ); elTD1.appendChild( document.createTextNode( booksb.id ) ); var elTD2 = elTR.insertCell( -1 ); elTD2.appendChild( document.createTextNode( ) ); var elTD3 = elTR.insertCell( -1 ); elTD3.appendChild( document.createTextNode( booksb.first
39、 ) ); var elTD4 = elTR.insertCell( -1 ); elTD4.appendChild( document.createTextNode( booksb.last ) ); var elTD5 = elTR.insertCell( -1 ); elTD5.appendChild( document.createTextNode( booksb.publisher ) ); document.body.appendChild( elTable );这个简单函数创建了一个表格节点,然后循环访问书的列表并为每本书创建一行,为每个数据元素分配一个单元格。此页面上的代码的结
40、果如 图 2 所示。图 2. function1.html 的结果现在我就可以查看一下此页面的输出并确认来自原始 .xml 文件的一切均已被正确转换成 JavaScript 代码,且数据被发送到 AddData 函数并被正确添加到页面。细化函数调用技术我很喜欢函数调用这一技术,但我并不赞同将所有图书数据都放入一个块中。另一种方式是为每条记录采用一个调用,如 清单 10 所示。清单 10. Function2.jsAddBook( id: 1,name: Code Generation in Action,first: Jack,last: Herrington,publisher: Manni
41、ng );AddBook( id: 2,name: PHP Hacks,first: Jack,last: Herrington,publisher: OReilly );.对 .html 页面只需做少许修改,如 清单 11 所示。清单 11. Function2.html.var g_books = ;function AddBook( book ) g_books.push( book ); .这里更改了 XSLT,以使函数调用驻留在 for-each 循环体内。清单 12 显示了更新后的样式表。清单 12. function2.xsl.AddBook( id: ,name: ,first
42、: ,last: ,publisher: );.对这个给定示例来说,这种更改看起来有些随意。但如果原始的 XML 数据集有多种数据类型,要为每种类型分配一个单独的函数调用会使 XSL 和页面上的 JavaScript 代码更为简单、更易于维护。编码对象对小的页面来讲,使用 JavaScript 函数没有问题。但对于大型项目,就需要使用 JavaScript 语言的一些面向对象特性。是的,JavaScript 语言可以处理对象而且可以处理得很好。清单 13 显示了如何创建带有数据的对象。清单 13. Object1.jsg_books.push( new Book( id: 1,name: Co
43、de Generation in Action,first: Jack,last: Herrington,publisher: Manning ) );g_books.push( new Book( id: 2,name: PHP Hacks,first: Jack,last: Herrington,publisher: OReilly ) );在本例中,我只简单地向名为 g_books 的数组添加了 Book 对象。JavaScript 的对象创建与 Java、C# 或 C+ 编程语言的对象创建十分相似。都是一个 new 操作符后跟一个类名。参数放到随后的括号内。在本例中,我传入了一个带值的单一散列表,并将其分割成单独的一些参数。创建此对象的代码如 清单 14 所示。清单 14. Object1.xslg_books.push( new Book( id: ,name: ,first: ,last: ,publisher: ) );此页
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 朝鲜贸易合同范本
- 木方供销合同范本
- 木架打包合同范本
- 木门返点合同范本
- 广告彩页合同范本
- 山地光伏合同范本
- 工业仪表合同范本
- 化工销合同范本
- 2025年黑龙江鸡西市鸡东县平阳镇平阳社区工作人员考试模拟试题及答案
- 2026重庆机电控股集团招聘面试题及答案
- 2025广西公需科目培训考试答案(90分)一区两地一园一通道建设人工智能时代的机遇与挑战
- 酸洗钝化工安全教育培训手册
- 汽车发动机测试题(含答案)
- IPC6012DA中英文版刚性印制板的鉴定及性能规范汽车要求附件
- 消除母婴三病传播培训课件
- 学校餐费退费管理制度
- T/CUPTA 010-2022共享(电)单车停放规范
- 设备修理工培训体系
- 《社区营养健康》课件
- DB33T 2455-2022 森林康养建设规范
- 北师大版数学三年级上册课件 乘法 乘火车-课件01
评论
0/150
提交评论