浅析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
Aug 13 Javascript
基于JQuery的数字改变的动画效果--可用来做计数器
Aug 11 Javascript
jquery遍历数组与筛选数组的方法
Nov 05 Javascript
JavaScript中原型链存在的问题解析
Sep 25 Javascript
JS实现的简单轮播图运动效果示例
Dec 22 Javascript
jquery 仿锚点跳转到页面指定位置的实例
Feb 14 Javascript
详解Angular 中 ngOnInit 和 constructor 使用场景
Jun 22 Javascript
angular2 ng2 @input和@output理解及示例
Oct 10 Javascript
使用store来优化React组件的方法
Oct 23 Javascript
Vue动态创建注册component的实例代码
Jun 14 Javascript
js canvas实现5张图片合成一张图片
Jul 15 Javascript
JS图片懒加载的优点及实现原理
Jan 10 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字符串 ==比较运算符的副作用
2009/10/21 PHP
页面乱码问题的根源及其分析
2013/08/09 PHP
php多种形式发送邮件(mail qmail邮件系统 phpmailer类)
2014/01/22 PHP
phpStudy 2016 使用教程详解(支持PHP7)
2017/10/18 PHP
PHP中检查isset()和!empty()函数的必要性
2019/02/13 PHP
laravel 之 Eloquent 模型修改器和序列化示例
2019/10/17 PHP
Easy.Ajax 部分源代码 支持文件上传功能, 兼容所有主流浏览器
2011/02/24 Javascript
跨域请求之jQuery的ajax jsonp的使用解惑
2011/10/09 Javascript
jQuery 在光标定位的地方插入文字的插件
2012/05/10 Javascript
《JavaScript DOM 编程艺术》读书笔记之JavaScript 简史
2015/01/09 Javascript
基于JavaScript创建动态Dom
2015/12/08 Javascript
JS实现的仿QQ空间图片弹出效果代码
2016/02/23 Javascript
Vue.js报错Failed to resolve filter问题的解决方法
2016/05/25 Javascript
js仿京东轮播效果 选项卡套选项卡使用
2017/01/12 Javascript
Node.js 8 中的 util.promisify的详解
2017/06/12 Javascript
vue集成百度UEditor富文本编辑器使用教程
2018/09/21 Javascript
简化版的vue-router实现思路详解
2018/10/19 Javascript
express+vue+mongodb+session 实现注册登录功能
2018/12/06 Javascript
使用vue自定义指令开发表单验证插件validate.js
2019/05/23 Javascript
JavaScript实现英语单词题库
2019/12/24 Javascript
基于canvasJS在PHP中制作动态图表
2020/05/30 Javascript
5种Python单例模式的实现方式
2016/01/14 Python
python实现随机梯度下降法
2020/03/24 Python
详解python分布式进程
2018/10/08 Python
OpenCV+face++实现实时人脸识别解锁功能
2019/08/28 Python
python uuid生成唯一id或str的最简单案例
2021/01/13 Python
美国存储和组织商店:The Container Store
2017/08/16 全球购物
美国环保妈妈、儿童和婴儿用品购物网站:The Tot
2019/11/24 全球购物
阿迪达斯中国官网:Adidas中国
2020/12/14 全球购物
聘任书的写作格式及范文
2014/03/29 职场文书
市级优秀班主任事迹材料
2014/05/13 职场文书
投诉信格式范文
2015/07/02 职场文书
研究生学习计划书应该怎么写?
2019/09/10 职场文书
GoLang中生成UUID唯一标识的实现
2021/05/08 Golang
Python机器学习应用之工业蒸汽数据分析篇详解
2022/01/18 Python
vue实现input输入模糊查询的三种方式
2022/08/14 Vue.js