服务器端相应JOSN数据   用到序列化和反序列化----命名空间using System.Web.Script.Serialization;

 public void ProcessRequest(HttpContext context)
{
context.Response.ContentType = "text/plain";
//获取请求的参数
string id = context.Request["id"].ToString();
//通过参数查询父级id是参数的数据
DataClasses1DataContext db = new DataClasses1DataContext();
List<ChinaStates> list = db.ChinaStates.Where(p => p.ParentAreaCode == id).ToList();
//将查询到的数据序列化,,用到using System.Web.Script.Serialization;
JavaScriptSerializer jss = new JavaScriptSerializer();
//调用jss.Serialize(list)方法,,得到josn类型的字符串,使用时要反序列化,得到josn数组
string josnData = jss.Serialize(list);
context.Response.Clear();
context.Response.Write(josnData);
context.Response.End();
}

通过以上方法得到的JOSN数据----崩溃类型0.0

[{"AreaCode":"","AreaName":"河北","ParentAreaCode":"","Root":false,"Zone":,"NavigateURL":null},{"AreaCode":"","AreaName":"山西","ParentAreaCode":"","Root":false,"Zone":,"NavigateURL":null},{"AreaCode":"","AreaName":"内蒙古","ParentAreaCode":"","Root":false,"Zone":,"NavigateURL":null},{"AreaCode":"","AreaName":"辽宁","ParentAreaCode":"","Root":false,"Zone":,"NavigateURL":null},{"AreaCode":"","AreaName":"吉林","ParentAreaCode":"","Root":false,"Zone":,"NavigateURL":null},{"AreaCode":"","AreaName":"黑龙江","ParentAreaCode":"","Root":false,"Zone":,"NavigateURL":null},{"AreaCode":"","AreaName":"上海","ParentAreaCode":"","Root":false,"Zone":,"NavigateURL":null},{"AreaCode":"","AreaName":"江苏","ParentAreaCode":"","Root":false,"Zone":,"NavigateURL":null},{"AreaCode":"","AreaName":"浙江","ParentAreaCode":"","Root":false,"Zone":,"NavigateURL":null},{"AreaCode":"","AreaName":"安徽","ParentAreaCode":"","Root":false,"Zone":,"NavigateURL":null},{"AreaCode":"","AreaName":"福建","ParentAreaCode":"","Root":false,"Zone":,"NavigateURL":null},{"AreaCode":"","AreaName":"江西","ParentAreaCode":"","Root":false,"Zone":,"NavigateURL":null},{"AreaCode":"","AreaName":"山东","ParentAreaCode":"","Root":false,"Zone":,"NavigateURL":null},{"AreaCode":"","AreaName":"河南","ParentAreaCode":"","Root":false,"Zone":,"NavigateURL":null},{"AreaCode":"","AreaName":"湖北","ParentAreaCode":"","Root":false,"Zone":,"NavigateURL":null},{"AreaCode":"","AreaName":"湖南","ParentAreaCode":"","Root":false,"Zone":,"NavigateURL":null},{"AreaCode":"","AreaName":"广东","ParentAreaCode":"","Root":false,"Zone":,"NavigateURL":null},{"AreaCode":"","AreaName":"广西","ParentAreaCode":"","Root":false,"Zone":,"NavigateURL":null},{"AreaCode":"","AreaName":"海南","ParentAreaCode":"","Root":false,"Zone":,"NavigateURL":null},{"AreaCode":"","AreaName":"重庆","ParentAreaCode":"","Root":false,"Zone":,"NavigateURL":null},{"AreaCode":"","AreaName":"四川","ParentAreaCode":"","Root":false,"Zone":,"NavigateURL":null},{"AreaCode":"","AreaName":"贵州","ParentAreaCode":"","Root":false,"Zone":,"NavigateURL":null},{"AreaCode":"","AreaName":"云南","ParentAreaCode":"","Root":false,"Zone":,"NavigateURL":null},{"AreaCode":"","AreaName":"西藏","ParentAreaCode":"","Root":false,"Zone":,"NavigateURL":null},{"AreaCode":"","AreaName":"陕西","ParentAreaCode":"","Root":false,"Zone":,"NavigateURL":null},{"AreaCode":"","AreaName":"甘肃","ParentAreaCode":"","Root":false,"Zone":,"NavigateURL":null},{"AreaCode":"","AreaName":"青海","ParentAreaCode":"","Root":false,"Zone":,"NavigateURL":null},{"AreaCode":"","AreaName":"宁夏","ParentAreaCode":"","Root":false,"Zone":,"NavigateURL":null},{"AreaCode":"","AreaName":"新疆","ParentAreaCode":"","Root":false,"Zone":,"NavigateURL":null},{"AreaCode":"","AreaName":"台湾","ParentAreaCode":"","Root":false,"Zone":,"NavigateURL":null},{"AreaCode":"","AreaName":"香港","ParentAreaCode":"","Root":false,"Zone":,"NavigateURL":null},{"AreaCode":"","AreaName":"澳门","ParentAreaCode":"","Root":false,"Zone":,"NavigateURL":null}]

JosnViewer---神兵利器!

JS实现Ajax代码

window.onload = function () {
LoadProv();
LoadCity();
LoadTown(); };//onload
 function LoadProv() {
//确认事件
//1.创建xhr对象
var xhr = null;
if (XMLHttpRequest) {
xhr = new XMLHttpRequest();
} else if (ActiveXObject) {
xhr = new ActiveXObject("Microsoft.XMLHttp");
}
//2.设置回调函数
xhr.onreadystatechange = function () {
if (xhr.readyState == 4 && xhr.status == 200) {
//将响应的数据反序列化
var josnObj = eval('(' + xhr.responseText + ')');
for (var i = 0; i < josnObj.length; i++) {
var opt = document.createElement('option');
opt.value = josnObj[i].AreaCode;
opt.innerHTML = josnObj[i].AreaName;
document.getElementById('ddlProv').appendChild(opt);
}//for
document.getElementById('ddlProv').onchange();//内部调用自己的onchange事件,加载下一个下拉
}//if
}
//3.初始化xhr,三个参数,,提交方式,url,是否异步
xhr.open('get', 'Select.ashx?id=0001', true);
//4.发送请求
xhr.send(null);
}
 function LoadCity() {
//确认事件--改变事件
document.getElementById('ddlProv').onchange = function () {
//获取被选省份的id
var id = this.value;
//根据被选择的id加载市区
var xhr = null;
//1.创建xhr对象
if (XMLHttpRequest) {
xhr = new XMLHttpRequest();
} else if (ActiveXObject) {
xhr = new ActiveXObject("Microsoft.Http");
}
//2.设置回调函数
xhr.onreadystatechange = function () {
//反序列化
var josnObj = eval(xhr.responseText);
document.getElementById('ddlCity').innerHTML = '';
if (xhr.readyState = 4 && xhr.status == 200) {
for (var i = 0; i < josnObj.length; i++) {
var opt = document.createElement('option');
opt.value = josnObj[i].AreaCode;
opt.text = josnObj[i].AreaName;
document.getElementById('ddlCity').appendChild(opt);
}
}
document.getElementById('ddlCity').onchange();
}
//3.初始化
xhr.open('post', 'Select.ashx', true);
xhr.setRequestHeader('content-type', 'application/x-www-form-urlencoded');
//4.发送
xhr.send('id=' + id);
};//onchange
}
function LoadTown() {
//确认事件
document.getElementById('ddlCity').onchange = function () {
var id = this.value;
var xhr = null;
//1.创建对象
if (XMLHttpRequest) {
xhr = new XMLHttpRequest();
} else if (ActiveXObject) {
xhr = new ActiveXObject("Microsoft.Http");
}
//2.设置回掉函数
xhr.onreadystatechange = function () {
if (xhr.readyState == 4 && xhr.status == 200) {
//反序列化响应,转化为josn格式
document.getElementById('ddlTown').innerHTML = '';
var josnObj = eval(xhr.responseText);
for (var i = 0; i < josnObj.length; i++) {
var opt = document.createElement('option');
opt.value = josnObj[i].AreaCode;
opt.text = josnObj[i].AreaName;
document.getElementById('ddlTown').appendChild(opt);
}
}
}
//3.初始化
xhr.open('post', 'SelectByPost.ashx', true);
//post 必备
xhr.setRequestHeader('content-type', 'application/x-www-form-urlencoded');
//4.发送
xhr.send('id=' + id);
};//onchange
<body>
<form id="form1" runat="server">
省:<asp:DropDownList ID="ddlProv" runat="server"></asp:DropDownList>
市:<asp:DropDownList ID="ddlCity" runat="server"></asp:DropDownList>
区/县:<asp:DropDownList ID="ddlTown" runat="server"></asp:DropDownList>
</form>
</body>

JS实现Ajax,Josn数据的序列化和反序列化---例: 省市区联动(包含get,post)的更多相关文章

  1. 对 JSON 数据进行序列化和反序列化

    如何:对 JSON 数据进行序列化和反序列化 2017/03/30 作者 JSON(JavaScript 对象符号)是一种高效的数据编码格式,可用于在客户端浏览器和支持 AJAX 的 Web 服务之间 ...

  2. Json数据的序列化与反序列化的三种经常用法介绍

    下面内容是本作者从官网中看对应的教程后所做的demo.其体现了作者对相关知识点的个人理解..作者才疏学浅,难免会有理解不到位的地方.. 还请各位读者批判性对待... 本文主要介绍在Json数据的序列化 ...

  3. js实现对json数据的序列化(兼容ie6以上浏览器)

    /** * 增加对JSON数据的序列化方法, * 主要用于IE6.7不支持JSON对象的浏览器 */ var xue = xue || {};xue.json = xue.json || {}; xu ...

  4. Vue.js——基于$.ajax实现数据的跨域增删查改

    概述 之前我们学习了Vue.js的一些基础知识,以及如何开发一个组件,然而那些示例的数据都是local的.在实际的应用中,几乎90%的数据是来源于服务端的,前端和服务端之间的数据交互一般是通过ajax ...

  5. Vue.js——基于$.ajax实现数据的跨域增删查改

    转自:https://www.cnblogs.com/keepfool/p/5648674.html 概述 之前我们学习了Vue.js的一些基础知识,以及如何开发一个组件,然而那些示例的数据都是loc ...

  6. 详解电子表格中的json数据:序列化与反序列化

    从XML到JSON 当下应用开发常见的B/S架构之下,我们会遇到很多需要进行前后端数据传输的场景.而在这个传输的过程中,数据通过何种格式传输.方式是否迅速便捷.书写方式是否简单易学,都成为了程序员在开 ...

  7. c#中对json数据的序列化和反序列化(笔记)

    今天遇到在后台中要获取json格式数据里的某些值,网上查了些资料: string jsonstr = _vCustomerService.LoadCustomerbyNumTotalData(quer ...

  8. Python 中数据的序列化和反序列化(json处理)

    概念: JSON(JavaScript Object Notation):是一种轻量级的数据交换格式. 易于人阅读和编写.同时也易于机器解析和生成. 它基于JavaScript Programming ...

  9. C# 编写通用的JSON数据进行序列化和反序列化

    注意事项:使用JSON系列化和反系列化,必须要添加引用System.Runtime.Serialization. 1.通用类代码如下: /// <summary>    /// JSON序 ...

随机推荐

  1. 【Octave】柱面投影简析

    ========================我是分割线========================== 在做全景拼接的时候,为了保持图片中的空间约束与视觉的一致性,需要做一定的预处理,可以是球 ...

  2. java使用HttpClient传输json格式的参数

    最近的一个接口项目,传的参数要求是json,需要特殊处理一下. 重点是这两句话: httpPost.setHeader("Content-Type", "applicat ...

  3. 迭代加深搜索 codevs 2541 幂运算

    codevs 2541 幂运算  时间限制: 1 s  空间限制: 128000 KB  题目等级 : 钻石 Diamond 题目描述 Description 从m开始,我们只需要6次运算就可以计算出 ...

  4. [ubuntu]deb软件源

    虽然ubuntu的中国服务器的速度已经非常不错,但是难免,会有网络不畅的情形,所以修改软件源地址是一个基础的知识点. 修改ubuntu的软件源的方式有多种,一直是通过ubuntu软件中心提供的UI,还 ...

  5. POJ 3150 Cellular Automaton --矩阵快速幂及优化

    题意:给一个环,环上有n块,每块有个值,每一次操作是对每个点,他的值变为原来与他距离不超过d的位置的和,问k(10^7)次操作后每块的值. 解法:一看就要化为矩阵来做,矩阵很好建立,大白书P157页有 ...

  6. Jenkins学习五:更改Jenkins的主目录

    工作中,由于Jenkins默认的主目录空间太小,导致需要将Jenkins默认的主目录修改到其它目录.本文针对更改Jenkins的主目录详细介绍. 注意:在Jenkins运行时是不能更改的. 请先将Je ...

  7. vmware12安装vmtools

    一. 1. 机器要开启支持BIOS的选项. 二. 1. 点击vmware 应用 vmware install 2. 虚拟机: tar  xvf vmtools-distb.tgr.gz 3. 虚拟机: ...

  8. 混合语言编程:启用CLR(公共语言运行时编译)让C#调用C++

    前言 关于混合C#和C++的编程方式,本人之前写过一篇博客(参见混合语言编程:C#使用原生的Directx和OpenGL),在之前的博客中,介绍了在C#的Winform和WPF下使用原生的Direct ...

  9. ASP.net MVC自定义错误处理页面的方法

    在ASP.NET MVC中,我们可以使用HandleErrorAttribute特性来具体指定如何处理Action抛出的异常.只要某个Action设置了HandleErrorAttribute特性,那 ...

  10. python数字图像处理(10):图像简单滤波

    对图像进行滤波,可以有两种效果:一种是平滑滤波,用来抑制噪声:另一种是微分算子,可以用来检测边缘和特征提取. skimage库中通过filters模块进行滤波操作. 1.sobel算子 sobel算子 ...