浅析ajax请求json数据并用js解析(示例分析)


Posted in Javascript onJuly 13, 2013

自从接触了jquery就喜欢上了前端开发,而且深深感受到了前端开发的强大与重要之处。同时也想为asp.net鸣不平,事实上asp.net并没有臃肿,说它臃肿的人无非是那些不了解它的人,可能他们看见过一些asp.net低级程序员在不断往页面里拖控件,然后发现生成的页面中含有大量的垃圾代码,而且几乎把所有的逻辑处理都写在了服务器端,觉得服务器压力太大了。事实上,刚入门asp.net的人会有拖控件的习惯,但是当你再深入你会发现,最终asp.net的开发模式还是跟PHP、jsp等其它web开发模式是一样的,PHP是html+css+js+PHP语言,asp.net是html+css+js+C#语言,唯一不同的只是服务器端语言而已(面向开发人员来说),如果看到这里还说asp.net很臃肿,因为需要.net框架的支持,那么为什么不说jsp很臃肿?jsp也需要java虚拟机的支持啊!所有的web开发都是基于客户端发请求-服务器端返回数据-客户端再处理数据这个模式,而且asp.net开发模式的好处在于很好地分离了服务器端与客户端的代码,不用在html里嵌套服务器端的代码——当然这种模式现在已经几乎被各种web开发采用了。

扯远了。我们今天要掌握的很少,我比较喜欢用很少的代码来写demo,这样大家比较容易掌握(内容有点低级,大神请绕道)。

我们建一个这样的web项目:

浅析ajax请求json数据并用js解析(示例分析)

首先写客户端的html代码

<table>
  <thead>
    <tr>
      <td>学号</td>
      <td>姓名</td>
      <td>班别</td>
      <td>性别</td>
      <td>电话</td>
    </tr>
  </thead>
  <tbody></tbody>
</table>
<input id="btnget" type="button" value="加载数据" />

js代码

$(function () {
  $("#btnget").click(function () {
    $.ajax({
      type: "post",
      dataType: "json",
      url: "data.ashx",
      success: function (msg) {
        var str = "";
        for (i in msg) {
          str += "<tr><td>" + msg[i].id + "</td><td>" + msg[i].name + "</td><td>" + msg[i].cla + "</td><td>" + msg[i].sex + "</td><td>" + msg[i].tel + "</td></tr>";
        }
        $("tbody").append(str);
      }
    });
  });
});

为了使表格好看一些,我们定义一下它的样式

<style type="text/css">
  table {
    border-collapse: collapse;
  }
  table td {
    text-align: center;
    border: 1px solid gray;
    padding: 3px 10px;
  }
</style>

然后写服务器端返回json数据的代码

string data = "[{\"id\":\"2010324268\",\"name\":\"林宇\",\"cla\":\"10软件\",\"sex\":\"男\",\"tel\":\"13800138000\"},{\"id\":\"2010324256\",\"name\":\"李四\",\"cla\":\"10网络\",\"sex\":\"女\",\"tel\":\"10010\"},{\"id\":\"2010324264\",\"name\":\"张三\",\"cla\":\"10软件\",\"sex\":\"男\",\"tel\":\"10086\"}]";
context.Response.Write(data);

这里我直接把json数据写好格式了。一般来说是需要从数据库把数据读取出来然后拼凑成json格式,或者可以使用别人写好的一些序列化成json数据的类,当然,我更建议你自己写一个,生成一个类库方便以后使用。

如果需要解释一下json是什么,它是和xml等等一些数据并列的一种数据格式,形如:[{"id":"1","name":"张三","age":"20"},{"id":"2","name":"李四","age":"18"}]这样的格式。

这应该是每个web开发的人员都应该掌握的基础技术吧。

Javascript 相关文章推荐
javascript:void(0)点击登录没反应怎么解决
Nov 13 Javascript
JavaScript测试工具之Karma-Jasmine的安装和使用详解
Dec 03 Javascript
JQuery 的跨域方法推荐_可跨任何网站
May 18 Javascript
关于验证码在IE中不刷新的快速解决方法
Sep 23 Javascript
Js自动截取字符串长度,添加省略号(……)的实现方法
Mar 06 Javascript
Vue.2.0.5过渡效果使用技巧
Mar 16 Javascript
vue组件之Alert的实现代码
Oct 17 Javascript
node全局变量__dirname与__filename的区别
Jan 14 Javascript
解决layer.open弹出框不能获取input框的值为空的问题
Sep 10 Javascript
解决layui页面按钮点击无反应,也不报错的问题
Sep 29 Javascript
解决vue字符串换行问题(绝对管用)
Aug 06 Javascript
JavaScript选择器函数querySelector和querySelectorAll
Nov 27 Javascript
网页前端优化之滚动延时加载图片示例
Jul 13 #Javascript
JavaScript获取FCK编辑器信息的具体方法
Jul 12 #Javascript
javascript 实现 秒杀,团购 倒计时展示的记录 分享
Jul 12 #Javascript
jquery实现微博文字输入框 输入时显示输入字数 效果实现
Jul 12 #Javascript
jquery 滚动条事件简单实例
Jul 12 #Javascript
简约JS日历控件 实例代码
Jul 12 #Javascript
javascript中自定义对象的属性方法分享
Jul 12 #Javascript
You might like
php 生成静态页面的办法与实现代码详细版
2010/02/15 PHP
PHP CURL模拟GET及POST函数代码
2010/04/25 PHP
php带密码功能并下载远程文件保存本地指定目录 修改加强版
2010/05/16 PHP
php实现的ping端口函数实例
2014/11/12 PHP
PHP利用APC模块实现文件上传进度条的方法
2015/01/26 PHP
PHP使用pear自带的mail类库发邮件的方法
2015/07/08 PHP
php实现文件与16进制相互转换的方法示例
2017/02/16 PHP
学习jquery之一
2007/04/27 Javascript
js+JQuery返回顶部功能如何实现
2012/12/03 Javascript
js类定义函数时用prototype与不用的区别示例介绍
2014/06/10 Javascript
用js读、写、删除Cookie代码续篇
2014/12/03 Javascript
JavaScript实现当网页加载完成后执行指定函数的方法
2015/03/21 Javascript
Juery解决tablesorter中文排序和字符范围的方法
2015/05/06 Javascript
js实现的简单图片浮动效果完整实例
2016/05/10 Javascript
BootstrapTable与KnockoutJS相结合实现增删改查功能【一】
2016/05/10 Javascript
Vue与Node.js通过socket.io通信的示例代码
2018/07/25 Javascript
vue实现商品列表的添加删除实例讲解
2020/05/14 Javascript
[46:28]EG vs Liquid 2019国际邀请赛淘汰赛 败者组 BO3 第二场 8.23
2019/09/05 DOTA
Python 深入理解yield
2008/09/06 Python
tornado框架blog模块分析与使用
2013/11/21 Python
Python函数中定义参数的四种方式
2014/11/30 Python
python获得linux下所有挂载点(mount points)的方法
2015/04/29 Python
python实现随机梯度下降(SGD)
2020/03/24 Python
Python生成器以及应用实例解析
2018/02/08 Python
Win8下python3.5.1安装教程
2020/07/29 Python
python try except 捕获所有异常的实例
2018/10/18 Python
python3 使用traceback定位异常实例
2020/03/09 Python
施华洛世奇澳大利亚官网:SWAROVSKI澳大利亚
2017/01/06 全球购物
写演讲稿要注意的六件事
2014/01/14 职场文书
信息管理专业自荐书
2014/06/05 职场文书
房屋授权委托书范本
2014/10/07 职场文书
2014年变电站工作总结
2014/12/19 职场文书
2015年爱牙日活动总结
2015/02/05 职场文书
推销搭讪开场白
2015/05/28 职场文书
2016党员读书思廉心得体会
2016/01/23 职场文书
MongoDB连接数据库并创建数据等使用方法
2021/11/27 MongoDB