基于jQuery的ajax功能实现web service的json转化


Posted in Javascript onAugust 29, 2009

不过这篇文章的题目我真不知道该怎么起,如果你因为这个差劲的题目错过这个东西,那真的很可惜。

我在做这个东西之前参考了不少文章:

http://www.roseindia.net/tutorials/json/parse-message-JSON-JS.shtml

http://www.json.org/js.html

http://funkatron.com/site/comments/safely-parsing-json-in-javascript/

http://docs.jquery.com/Ajax/jQuery.getJSON

http://encosia.com/2009/06/29/never-worry-about-asp-net-ajaxs-d-again/

http://encosia.com/2009/04/07/using-complex-types-to-make-calling-services-less-complex/

http://www.isolutionteam.co.uk/json-jquery-ajax-aspnet-and-c-to-get-ajaxed-data-table-rows-passing-multiple-parameters/

第一步需要做的是如何在Server端把一个datatable转坏为自己需要的那种格式:

本来想使用.net的javascriptSerializer来完成的(结合Genirics库的List等),但是后来发现使用NewtonSoft.Json更加灵活,而且扩展性比较好,甚至在网上有找到一些代码能够现成使用。

 

先看看我在Server端如何实现了Data转化:

 

基于jQuery的ajax功能实现web service的json转化

这里不仅能够转换Datatable还有DataSet,以后再扩展JavascriptSerializer的转换功能。需要注意的是转化的最终结果需要是个[]包着的一段字符串.开始我试着使用{}来最终返回json为对象,结果在客户端真的是没有头绪根本就无法转换。最后看到一篇文章介绍,在.net 3.5中你的web Services返回来的结果会自动打包成一个json对象,且名字为d,如:{“d”:***}.所以我只有在服务器端的生成一个array形式的包。

然后我创建了一个数据库表,内容如下:

 

,基于jQuery的ajax功能实现web service的json转化

定义的web方法如下:

 

基于jQuery的ajax功能实现web service的json转化

Serializer方法已经在DNA_JSON中打包好。它是在NewtonSoft.Json的基础转换类基础上扩展的。

 

第二步是客户端的东西:

首先我们需要用到几个js, jQuery.js, json2.js就OK了。

 

基于jQuery的ajax功能实现web service的json转化

上面图所示我们用到了jQuery的ajax和JSON。Parse()转换函数。

还有需要注意的是res.d它是.net 3.5默认为你打包好的json的属性。如果你使用framework2.0就没有这个问题了。

最后是看看如何把这些ojbect组成的array显示在一个table中,代码如下:

<script type="text/javascript"><!-- 
function BuildTable(msg) { 
if ($('#tblResult').length != 0) // remove table if it exists 
{$("#tblResult").remove();} 
var table = '<table class="table.display"><thead> <tr><th>First Name</th> <th>Last Name</th><th>Email</th></thead> <tbody>'; 
for (var i=0;i<=msg.length-1;i++) { 
var row = '<tr>'; 
row += '<td>' + msg[i].UserName+ '</td>'; 
row += '<td>' +msg[i].FirstName+ '</td>'; 
row += '<td>' + msg[i].email + '</td>'; 
row += '</tr>'; 
table += row; 
} 
table += '</tbody></table>'; 
$('#example1').html(table); 
} 
// --></script>

如果还有需要源代码的请留言。接下来我会试着去使用这个方法把一些jQuery的ajax插件介绍给大家,然后把一些datagrid的插件封装成asp.net控件,这样你就不需要使用微软那笨重的datagrid了。
Javascript 相关文章推荐
关于Blog顶部的滚动导航条代码
Sep 25 Javascript
JavaScript 核心参考教程 内置对象
Oct 13 Javascript
jQuery实现在最后一个元素之前插入新元素的方法
Jul 18 Javascript
三种带箭头提示框总结实例
Jun 14 Javascript
浅析$(function) ready和onload 的区别
Sep 03 Javascript
jquery动态添加文本并获取值的方法
Oct 12 Javascript
浅析vue数据绑定
Jan 17 Javascript
jQuery开源组件BootstrapValidator使用详解
Jun 29 jQuery
JavaScript实现三级联动菜单效果
Aug 16 Javascript
全面了解JavaScript的作用域链
Apr 03 Javascript
JS实现“全选”和&quot;全不选&quot;功能代码实例
Feb 06 Javascript
Nuxt配置Element-UI按需引入的操作方法
Jul 06 Javascript
用户注册常用javascript代码
Aug 29 #Javascript
csdn 博客中实现运行代码功能实现
Aug 29 #Javascript
js 分栏效果实现代码
Aug 29 #Javascript
javascript 简练的几个函数
Aug 29 #Javascript
关于IE、Firefox、Opera页面呈现异同 写脚本很痛苦
Aug 28 #Javascript
jQuery一步一步实现跨浏览器的可编辑表格,支持IE、Firefox、Safari、Chrome、Opera
Aug 28 #Javascript
javascript 遍历验证所有文本框的值
Aug 27 #Javascript
You might like
德劲1103二次变频版的打磨
2021/03/02 无线电
PHP控制网页过期时间的代码
2008/09/28 PHP
PHP使用JSON和将json还原成数组
2015/02/12 PHP
PHP编写daemon process详解及实例代码
2016/09/30 PHP
php 提交表单 关闭layer弹窗iframe的实例讲解
2018/08/20 PHP
js实现ASP分页函数 HTML分页函数
2006/09/22 Javascript
JavaScript中令你抓狂的魔术变量
2006/11/30 Javascript
Javascript Tab 导航插件 (23个)
2009/06/11 Javascript
js将json格式内容转换成对象的方法
2013/11/01 Javascript
js简单实现用户注册信息的校验代码
2013/11/15 Javascript
jquery 提示信息显示后自动消失的具体实现
2013/12/18 Javascript
Javascript基础知识(三)BOM,DOM总结
2014/09/29 Javascript
基于jQuery实现文本框缩放以及上下移动功能
2014/11/24 Javascript
javascript框架设计之框架分类及主要功能
2015/06/23 Javascript
Bootstrap+jfinal实现省市级联下拉菜单
2016/05/30 Javascript
详解ES6中的let命令
2020/04/05 Javascript
jQuery插件FusionCharts绘制的2D条状图效果【附demo源码】
2017/05/13 jQuery
ionic中的$ionicPlatform.ready事件中的通用设置
2017/06/11 Javascript
jQuery实现手势解锁密码特效
2017/08/14 jQuery
NodeJs搭建本地服务器之使用手机访问的实例讲解
2018/05/12 NodeJs
vue2 中二级路由高亮问题及配置方法
2019/06/10 Javascript
[15:56]Heroes18_暗影萨满(完美)
2014/10/31 DOTA
python将字符串转换成数组的方法
2015/04/29 Python
python处理数据,存进hive表的方法
2018/07/04 Python
Python爬取数据保存为Json格式的代码示例
2019/04/09 Python
python实现大战外星人小游戏实例代码
2019/12/26 Python
Django基于Models定制Admin后台实现过程解析
2020/11/11 Python
Html5 canvas画图白板踩坑
2020/06/01 HTML / CSS
HTML+CSS+JavaScript实现图片3D展览的示例代码
2020/10/12 HTML / CSS
美国婴儿用品及配件购买网站:Munchkin
2019/04/03 全球购物
超市商业计划书
2014/05/04 职场文书
运动会演讲稿100字
2014/08/25 职场文书
中学生自我评价2015
2015/03/03 职场文书
浪漫婚礼主持词开场白
2015/11/24 职场文书
如何利用golang运用mysql数据库
2022/03/13 Golang
CSS 鼠标点击拖拽效果的实现代码
2022/12/24 HTML / CSS