浅析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 相关文章推荐
css图片自适应大小
Nov 28 Javascript
基于Asp.net与Javascript控制的日期控件
May 22 Javascript
js导入导出excel(实例代码)
Nov 25 Javascript
jquery解析xml字符串示例分享
Mar 25 Javascript
JavaScript生成福利彩票双色球号码
May 15 Javascript
jQuery实现下拉框左右移动(全部移动,已选移动)
Apr 15 Javascript
利用Bootstrap实现表格复选框checkbox全选
Dec 21 Javascript
微信小程序中的onLoad详解及简单实例
Apr 05 Javascript
详解Vue-Cli 异步加载数据的一些注意点
Aug 12 Javascript
如何基于JS截获动态代码
Dec 25 Javascript
Postman内建变量常用方法实例解析
Jul 28 Javascript
JavaScript语法约定和程序调试原理解析
Nov 03 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程序员应该了解MongoDB的五件事
2013/06/03 PHP
thinkPHP5.0框架应用请求生命周期分析
2017/03/25 PHP
ThinkPHP类似AOP思想的参数验证的实现方法
2019/12/18 PHP
Yii 框架使用Forms操作详解
2020/05/18 PHP
PHP safe_mode开启对于PHP系统函数有什么影响
2020/11/10 PHP
Ctrl+Enter提交内容信息
2006/06/26 Javascript
javascript实现动态侧边栏代码
2014/02/19 Javascript
jQuery中:only-child选择器用法实例
2015/01/03 Javascript
jQuery插件StickUp实现网页导航置顶
2015/04/12 Javascript
js数组常见操作及数组与字符串相互转化实例详解
2015/11/10 Javascript
Vuex简单入门
2017/04/19 Javascript
ActiveX控件的使用-js实现打印超市小票功能代码详解
2017/11/22 Javascript
浅析vue深复制
2018/01/29 Javascript
AjaxUpLoad.js实现文件上传
2018/03/05 Javascript
React中嵌套组件与被嵌套组件的通信过程
2018/07/11 Javascript
使用Karma做vue组件单元测试的实现
2020/01/16 Javascript
VUE中V-IF条件判断改变元素的样式操作
2020/08/09 Javascript
bootstrap-closable-tab可实现关闭的tab标签页插件
2020/08/09 Javascript
让你30分钟快速掌握vue3教程
2020/10/26 Javascript
[03:26]《DAC最前线》之EG经理自述DOTA2经历
2015/02/02 DOTA
Django1.3添加app提示模块不存在的解决方法
2014/08/26 Python
python中urllib模块用法实例详解
2014/11/19 Python
Python实现配置文件备份的方法
2015/07/30 Python
TensorFlow卷积神经网络之使用训练好的模型识别猫狗图片
2019/03/14 Python
python如何爬取网站数据并进行数据可视化
2019/07/08 Python
简单了解python中的与或非运算
2019/09/18 Python
行政文员岗位职责
2013/11/08 职场文书
群众路线剖析材料(四风)
2014/11/05 职场文书
给男朋友的道歉短信
2015/05/12 职场文书
借款民事起诉状范文
2015/05/19 职场文书
让人瞬间清醒的句子,句句经典,字字如金
2019/07/08 职场文书
社交电商模式的兴起:这些新的商机千万别错过
2019/07/26 职场文书
解决Tkinter中button按钮未按却主动执行command函数的问题
2021/05/23 Python
python中24小时制转换为12小时制的方法
2021/06/18 Python
MySQL 主从复制数据不一致的解决方法
2022/03/18 MySQL
openstack云计算keystone组件工作介绍
2022/04/20 Servers