浅析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 相关文章推荐
去除链接虚线全面分析总结
Aug 15 Javascript
IE浏览器打印的页眉页脚设置解决方法
Dec 08 Javascript
使用javascript过滤html的字符串(注释标记法)
Jul 08 Javascript
简单的Jquery遮罩层代码实例
Nov 14 Javascript
javascript实现的弹出层背景置灰-模拟(easyui dialog)
Dec 27 Javascript
使用jquery解析XML示例代码
Sep 05 Javascript
全面解析JavaScript中的valueOf与toString方法(推荐)
Jun 14 Javascript
jQuery实现鼠标经过购物车出现下拉框代码(推荐)
Jul 21 Javascript
jQuery为某个div加入行样式
Jun 09 jQuery
Vue应用部署到服务器的正确方式
Jul 15 Javascript
浅谈angular4实际项目搭建总结
Dec 01 Javascript
tweenjs缓动算法的使用实例分析
Aug 26 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 分页函数multi() discuz
2009/06/21 PHP
PHP自带方法验证邮箱是否存在
2016/02/01 PHP
jQuery滚动加载图片效果的实现
2013/03/06 Javascript
EditPlus注册码生成器(js代码实现)
2013/03/25 Javascript
JS实现简单的Canvas画图实例
2013/07/04 Javascript
jquery增加时编辑jqGrid(实例代码)
2013/11/08 Javascript
基于jquery的手风琴图片展示效果实现方法
2014/12/16 Javascript
浅谈Jquery为元素绑定事件
2015/04/27 Javascript
Windows下用PyCharm和Visual Studio开始Python编程
2015/10/26 Javascript
很不错的两款Bootstrap Icon图标选择组件
2016/01/28 Javascript
JavaScript入门教程之引用类型
2016/05/04 Javascript
以WordPress为例讲解jQuery美化页面Title的方法
2016/05/23 Javascript
JavaScript实现in-place思想的快速排序方法
2016/08/07 Javascript
详解浏览器渲染页面过程
2017/02/09 Javascript
使用Vue完成一个简单的todolist的方法
2017/12/01 Javascript
layui监听工具栏的实例(操作列表按钮)
2019/09/10 Javascript
Python数据类型中的“冒号“[::]——分片与步长操作示例
2018/01/24 Python
pyhton列表转换为数组的实例
2018/04/04 Python
python根据list重命名文件夹里的所有文件实例
2018/10/25 Python
Django中使用Whoosh进行全文检索的方法
2019/03/31 Python
python基本算法之实现归并排序(Merge sort)
2020/09/01 Python
使用Python操作MySQL的小技巧
2020/09/10 Python
css3.0 图形构成实例练习一
2013/03/19 HTML / CSS
TripAdvisor越南:全球领先的旅游网站
2017/09/21 全球购物
Yahoo的PHP面试题
2014/05/26 面试题
Unix如何在一行中运行多个命令
2015/05/29 面试题
公司部门司机岗位职责
2014/01/03 职场文书
党的群众路线教育学习材料
2014/05/12 职场文书
金融系应届毕业生求职信
2014/05/26 职场文书
业绩倒数第一的检讨书
2014/09/24 职场文书
2015年考研复习计划
2015/01/19 职场文书
2015年七七事变78周年纪念活动方案
2015/05/06 职场文书
2016学校元旦晚会经典开场白台词
2015/12/03 职场文书
Win11绿屏怎么办?Win11绿屏死机的解决方法
2021/11/21 数码科技
天谕手游15杯全调酒配方和调酒券的获得方式
2022/04/06 其他游戏
通过feDisplacementMap和feImage实现水波特效
2022/04/24 HTML / CSS