示范如何以异步AJAX方式访问SharePoint数据

简介:

很多人都希望在SharePoint页面上能让某个部分能"局部刷新",也就是说,这个部分的内容在刷新的时候,不会造成整个页面的Postback。为了快速演示大致的实现方法,在周末的时候做了一个用来示范的项目,它实现的功能很简单: 

1、提供给用户一个下拉框,列出当前网站所有的文档库,用户可以选择一个文档库,并载入此文档库的文件夹架构。 
2、文件夹结构通过一个TreeView来进行展现。 
3、当用户在TreeView上点击一个文件夹节点时,将文件夹所包含的文件显示在一个Grid Table中。 
4、在Grid Table中,包括了分页、排序、搜索等功能。 
5、上面的所有从SharePoint系统中载入数据的操作,都不会引发页面刷新,而是通过异步AJAX方式从SharePoint系统中获取所需的数据。载入数据的过程中,用户的页面操作不会被打断。 

这个示范的实现思路大致如下: 

1、为了能让SharePoint系统对外发布所需的数据,需要在服务器上创建几个定制的接口。虽然SharePoint内置了Web Services接口,但其中不一定会包含我们所需的接口方法。在这个示范中,为了简单起见,我直接创建了几个.ashx Http Handler,客户端的代码可以通过直接访问这几个.ashx文件,来调用服务器端的接口。 

2、这几个.ashx文件会以JSON格式纯文本方式,将客户端请求的数据返回。选择JSON格式的理由是,它足够简单且通用,在这里示范的场景中,其表现力足够用了。另外一个选择JSON的理由是,我打算在页面上使用jQuery来调用服务器端的接口,而jQuery对JSON格式的数据有很好的处理能力。 

3、客户端页面上的展现,没有创建自定义Web Part,而是用HTML + JS的方式,来访问服务器端的服务接口,获取到所需数据,并将界面呈现给用户。简单来说,就是AJAX啦。我选择使用jQuery,并利用了jQuery异步AJAX的能力,实现异步请求、无刷新、不阻塞用户页面操作的效果。 

4、为了方便快速的实现TreeView、Grid Table、Dialog等界面效果,我直接找了三个jQuery插件:TreeViewDataTablesFancyBox。 

为了帮助大家更容易了解这些思路,我录了一个简短的视频。 

 

下载WMV格式视频 
下载示范项目源码 

在SharePoint 2010中,其内置提供的Client OM包含了ECMAScript(JavaScript)类库,这样开发人员可以直接使用这些类库,通过页面脚本的方式访问SharePoint 2010网站数据。 

Enjoy SharePoint !





本文转自 kaneb0y 51CTO博客,原文链接:http://blog.51cto.com/kaneboy/285912,如需转载请自行联系原作者

目录
相关文章
|
28天前
|
Web App开发 JSON 前端开发
Ajax实现动态及时刷新表格数据
Ajax实现动态及时刷新表格数据
29 1
|
4月前
|
JSON 前端开发 Java
利用Spring Boot处理JSON数据实战(包括jQuery,html,ajax)附源码 超详细
利用Spring Boot处理JSON数据实战(包括jQuery,html,ajax)附源码 超详细
56 0
|
2月前
|
XML 机器学习/深度学习 JSON
在火狐浏览器调ajax获取json数据时,控制台提示“XML 解析错误:格式不佳”。
在火狐浏览器调ajax获取json数据时,控制台提示“XML 解析错误:格式不佳”。
29 0
在火狐浏览器调ajax获取json数据时,控制台提示“XML 解析错误:格式不佳”。
|
29天前
|
JSON 前端开发 数据格式
Ajax传递json数据
Ajax传递json数据
11 0
|
2月前
|
数据采集 前端开发 JavaScript
Python爬虫之Ajax数据爬取基本原理#6
Ajax数据爬取原理【2月更文挑战第19天】
31 1
Python爬虫之Ajax数据爬取基本原理#6
|
3月前
|
JSON 前端开发 JavaScript
探秘 AJAX:让网页变得更智能的异步技术(下)
探秘 AJAX:让网页变得更智能的异步技术(下)
探秘 AJAX:让网页变得更智能的异步技术(下)
|
3月前
|
XML 前端开发 JavaScript
探秘 AJAX:让网页变得更智能的异步技术(上)
探秘 AJAX:让网页变得更智能的异步技术(上)
探秘 AJAX:让网页变得更智能的异步技术(上)
|
4月前
|
存储 移动开发 JavaScript
【原生】sd.js帮助您简化繁重的获取数据、存储数据(CRUD)骚操作(吐槽~在安卓9.0以下或者IOS10.X以下手机端H5页面不支持,在这两种情况下的系统只能使用ajax或者原生js请求后台数据)
【原生】sd.js帮助您简化繁重的获取数据、存储数据(CRUD)骚操作(吐槽~在安卓9.0以下或者IOS10.X以下手机端H5页面不支持,在这两种情况下的系统只能使用ajax或者原生js请求后台数据)
|
4月前
|
XML JSON 前端开发
ajax中get和post的区别,datatype返回的数据类型有哪些?web开发中数据提交的几种方式,有什么区别。百度使用哪种方式?
ajax中get和post的区别,datatype返回的数据类型有哪些?web开发中数据提交的几种方式,有什么区别。百度使用哪种方式?
20 0
|
5月前
|
JSON 前端开发 数据格式
ajax请求解析json数据渲染在前端界面
ajax请求解析json数据渲染在前端界面
26 0