ajax前台转换json数据库,基于jQuery的ajax功能实现web service的json转化

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

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

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

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

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

20090829013716761.PNG

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

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

,

20090829013716697.PNG

定义的web方法如下:

20090829013717342.PNG

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

第二步是客户端的东西:

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

20090829013717948.PNG

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

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

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

function BuildTable(msg) {

if ($('#tblResult').length != 0) // remove table if it exists

{$("#tblResult").remove();}

var table = '

for (var i=0;i

var row = '

';

row += '

' + msg[i].UserName+ '';

row += '

' +msg[i].FirstName+ '';

row += '

' + msg[i].email + '';

row += '

';

table += row;

}

table += '

';

$('#example1').html(table);

}

// -->

如果还有需要源代码的请留言。接下来我会试着去使用这个方法把一些jQuery的ajax插件介绍给大家,然后把一些datagrid的插件封装成asp.net控件,这样你就不需要使用微软那笨重的datagrid了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,我可以为您提供一个简单的实现过程: 1. 编写HTML页面,包括输入框、按钮等元素,并引入jQuery和自己编写的JavaScript文件。 2. 在JavaScript文件中使用jQuery的`$.ajax()`方法发送注册请求,包括用户名、密码等信息,以及请求的url、请求方式、数据类型等参数。 3. 在服务器端,接收到注册请求后,解析请求参数,并将用户信息保存到数据库中。 4. 服务器端处理完请求后,返回响应数据,可以是一个简单的字符串,也可以是一个JSON对象,表示注册成功或失败等信息。 5. 在客户端JavaScript文件中,使用`$.ajax()`方法的回调函数,根据服务器返回的响应数据,更新显示信息,例如在页面上提示用户注册成功或失败的信息。 下面是一个简单的示例代码,以便您更好地理解: HTML页面: ``` <form> <label>用户名:</label> <input type="text" id="username" name="username"><br> <label>密码:</label> <input type="password" id="password" name="password"><br> <button type="button" id="registerBtn">注册</button> </form> ``` JavaScript文件: ``` $(function() { $('#registerBtn').click(function() { var username = $('#username').val(); var password = $('#password').val(); $.ajax({ type: 'POST', url: 'register.php', dataType: 'json', data: { username: username, password: password }, success: function(data) { if (data.success) { alert('注册成功!'); } else { alert('注册失败: ' + data.message); } }, error: function(xhr, status, error) { alert('注册失败: ' + error); } }); }); }); ``` PHP后端代码: ``` <?php // 解析请求参数 $username = $_POST['username']; $password = $_POST['password']; // 将用户信息保存到数据库中,此处省略 // 返回响应数据 $response = array('success' => true); echo json_encode($response); ?> ``` 以上代码仅作为示例,实际应用中还需要进行参数校验、异常处理等操作,以保证系统的健壮性和安全性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值