【转】Jquery 使用Ajax获取后台返回的Json数据后,页面处理
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
- <html xmlns="http://www.w3.org/1999/xhtml">
- <head>
- <title></title>
- <script src="JS/jquery-1.8.0.min.js" type="text/javascript"></script>
- <script type="text/javascript">
- $(function () {
- $.ajax({
- url: 'jsondata.ashx',
- type: 'GET',
- dataType: 'json',
- timeout: 1000,
- cache: false,
- beforeSend: LoadFunction, //加载执行方法
- error: erryFunction, //错误执行方法
- success: succFunction //成功执行方法
- })
- function LoadFunction() {
- $("#list").html('加载中...');
- }
- function erryFunction() {
- alert("error");
- }
- function succFunction(tt) {
- $("#list").html('');
- //eval将字符串转成对象数组
- //var json = { "id": "10086", "uname": "zhangsan", "email": "zhangsan@qq.com" };
- //json = eval(json);
- //alert("===json:id=" + json.id + ",uname=" + json.uname + ",email=" + json.email);
- var json = eval(tt); //数组
- $.each(json, function (index, item) {
- //循环获取数据
- var name = json[index].Name;
- var idnumber = json[index].IdNumber;
- var sex = json[index].Sex;
- $("#list").html($("#list").html() + "<br>" + name + " - " + idnumber + " - " + sex + "<br/>");
- });
- }
- });
- </script>
- </head>
- <body>
- <ul id="list">
- </ul>
- </body>
- </html>
- <%@ WebHandler Language="C#" Class="jsondata" %>
- using System;
- using System.Web;
- using System.Web.Script.Serialization;
- using System.IO;
- using System.Text;
- using System.Collections.Generic;
- using Newtonsoft.Json;
- using System.Data;
- public class jsondata : IHttpHandler {
- public void ProcessRequest(HttpContext context)
- {
- context.Response.ContentType = "text/plain";
- string JsonStr = JsonConvert.SerializeObject(CreateDT());
- context.Response.Write(JsonStr);
- context.Response.End();
- }
- #region 创建测试数据源
- //创建DataTable
- protected DataTable CreateDT()
- {
- DataTable tblDatas = new DataTable("Datas");
- //序号列
- //tblDatas.Columns.Add("ID", Type.GetType("System.Int32"));
- //tblDatas.Columns[0].AutoIncrement = true;
- //tblDatas.Columns[0].AutoIncrementSeed = 1;
- //tblDatas.Columns[0].AutoIncrementStep = 1;
- //数据列
- tblDatas.Columns.Add("IdNumber", Type.GetType("System.String"));
- tblDatas.Columns.Add("Name", Type.GetType("System.String"));
- tblDatas.Columns.Add("BirthDate", Type.GetType("System.String"));
- tblDatas.Columns.Add("Sex", Type.GetType("System.String"));
- tblDatas.Columns.Add("Wage", Type.GetType("System.Decimal"));
- tblDatas.Columns.Add("Bonus", Type.GetType("System.Decimal"));
- //统计列开始
- tblDatas.Columns.Add("NeedPay", Type.GetType("System.String"), "Wage+Bonus");
- //统计列结束
- tblDatas.Columns.Add("Address", Type.GetType("System.String"));
- tblDatas.Columns.Add("PostCode", Type.GetType("System.String"));
- //设置身份证号码为主键
- tblDatas.PrimaryKey = new DataColumn[] { tblDatas.Columns["IdNumber"] };
- tblDatas.Rows.Add(new object[] { "43100000000000", "张三", "1982", "0", 3000, 1000, null, "深圳市", "518000" });
- tblDatas.Rows.Add(new object[] { "43100000000001", "李四", "1983", "1", 3500, 1200, null, "深圳市", "518000" });
- tblDatas.Rows.Add(new object[] { "43100000000002", "王五", "1984", "1", 4000, 1300, null, "深圳市", "518000" });
- tblDatas.Rows.Add(new object[] { "43100000000003", "赵六", "1985", "0", 5000, 1400, null, "深圳市", "518000" });
- tblDatas.Rows.Add(new object[] { "43100000000004", "牛七", "1986", "1", 6000, 1500, null, "深圳市", "518000" });
- return tblDatas;
- }
- #endregion
- public bool IsReusable
- {
- get
- {
- return false;
- }
- }
- }
- <!--
- <script type="text/javascript">
- $(function () {
- $.ajax({
- url: 'jsondata.ashx',
- type: 'GET',
- dataType: 'json',
- timeout: 1000,
- cache: false,
- beforeSend: LoadFunction, //加载执行方法
- error: erryFunction, //错误执行方法
- success: succFunction //成功执行方法
- })
- function LoadFunction() {
- $("#list").html('加载中...');
- }
- function erryFunction() {
- alert("error");
- }
- function succFunction(tt) {
- $("#list").html('');
- //eval将字符串转成对象数组
- //var json = { "id": "10086", "uname": "zhangsan", "email": "zhangsan@qq.com" };
- //json = eval(json);
- //alert("===json:id=" + json.id + ",uname=" + json.uname + ",email=" + json.email);
- var json = eval(tt); //数组
- $.each(json, function (index, item) {
- //循环获取数据
- var Key = json[index].key;
- var Info = json[index].info;
- // var idnumber = json[index].IdNumber;
- // var sex = json[index].Sex;
- $("#list").html($("#list").html() + "<br>" + Key + "----" + Info.name); //+ " - " + idnumber + " - " + sex + "<br/>");
- });
- }
- });
- </script>
- -->
- <%@ WebHandler Language="C#" Class="jsondata" %>
- using System;
- using System.Web;
- using System.Web.Script.Serialization;
- using System.IO;
- using System.Text;
- using System.Collections;
- using System.Collections.Generic;
- using System.Data;
- public class jsondata : IHttpHandler {
- public void ProcessRequest(HttpContext context)
- {
- context.Response.ContentType = "text/plain";
- context.Response.Cache.SetNoStore();
- string data = "[{\"key\":\"1\",\"info\":{\"name\":\"222\",\"age\":\"333\",\"sex\":\"444\"}},{\"key\":\"2\",\"info\":{\"name\":\"999\",\"age\":\"000\",\"sex\":\"111\"}}]";
- context.Response.Write(new JavaScriptSerializer().Serialize(data));
- }
- public bool IsReusable
- {
- get
- {
- return false;
- }
- }
- }
- <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Test2013.aspx.cs" Inherits="Test2013" %>
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
- <html xmlns="http://www.w3.org/1999/xhtml">
- <head runat="server">
- <title></title>
- <script src="JS/jquery-1.8.0.min.js" type="text/javascript"></script>
- <script type="text/javascript">
- function GetPara(o) {
- var sortid = $(o).val();
- $.ajax({
- url: 'GetPara.ashx?type=get&sortid=' + sortid,
- type: 'GET',
- dataType: 'json',
- timeout: 3000,
- cache: false,
- beforeSend: LoadFunction, //加载执行方法
- error: erryFunction, //错误执行方法
- success: succFunction //成功执行方法
- })
- function LoadFunction() {
- $("#list").html('加载中...');
- }
- function erryFunction() {
- alert("error");
- }
- function succFunction(tt) {
- $("#list").html('');
- var json = eval(tt); //数组
- $.each(json, function (index, item) {
- //循环获取数据
- var Id = json[index].id;
- var Name = json[index].name;
- $("#list").html($("#list").html() + "<br>" + Name + "<input type='text' id='" + Id + "' /><br/>");
- });
- }
- };
- function SavePara() {
- var parameter = {};
- $("#list input:text").each(function () {
- var key = $(this).attr("id");
- var value = $(this).val();
- parameter[key] = value;
- });
- $.ajax({
- url: 'GetPara.ashx?type=save',
- type: 'POST',
- dataType: 'json',
- data: parameter,
- timeout: 3000,
- cache: false,
- beforeSend: LoadFunction, //加载执行方法
- error: erryFunction, //错误执行方法
- success: succFunction //成功执行方法
- })
- function LoadFunction() {
- }
- function erryFunction() {
- }
- function succFunction(tt) {
- }
- };
- </script>
- </head>
- <body>
- <form id="form1" runat="server">
- <div>
- <asp:DropDownList ID="ddl1" runat="server" onchange="GetPara(this)">
- </asp:DropDownList>
- <ul id="list"></ul>
- <input type="button" value="保存数据" onclick="SavePara()" />
- </div>
- </form>
- </body>
- </html>
- <%@ WebHandler Language="C#" Class="GetPara" %>
- using System;
- using System.Web;
- using System.Data;
- using System.Collections.Generic;
- using System.Web.Script.Serialization;
- public class GetPara : IHttpHandler {
- public void ProcessRequest (HttpContext context) {
- context.Response.ContentType = "text/plain";
- string SortId = context.Request["sortid"];
- string Type = context.Request["type"];
- if (Type=="get")
- {
- if (!string.IsNullOrEmpty(SortId))
- {
- DataTable dt = MSCL.SqlHelper.GetDataTable("select * from PR_PRODUCTPARAS where sortid='" + SortId + "' ");
- List<Paras> list = new List<Paras>();
- for (int i = 0; i < dt.Rows.Count; i++)
- {
- Paras a = new Paras();
- a.id = dt.Rows[i]["PARAID"].ToString();
- a.name = dt.Rows[i]["PARANAME"].ToString();
- list.Add(a);
- }
- context.Response.Write(new JavaScriptSerializer().Serialize(list));
- }
- }
- else if (Type == "save")
- {
- //反序列化json
- System.IO.Stream stream = context.Request.InputStream;
- System.IO.StreamReader sr = new System.IO.StreamReader(stream, System.Text.Encoding.GetEncoding("UTF-8"));
- string sJson = sr.ReadToEnd();
- if (sJson.Contains("&"))
- {
- string[] sArr = sJson.Split('&');
- for (int i = 0; i < sArr.Length; i++)
- {
- string[] sArr1 = sArr[i].Split('=');
- object id = sArr1[0];
- object value = sArr1[1];
- }
- }
- }
- else
- { }
- }
- public bool IsReusable {
- get {
- return false;
- }
- }
- public struct Paras
- {
- public string id;
- public string name;
- }
- }
【转】Jquery 使用Ajax获取后台返回的Json数据后,页面处理的更多相关文章
- ajax 请求 对json传的处理 Jquery 使用Ajax获取后台返回的Json数据后,页面处理
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- Jquery 使用Ajax获取后台返回的Json数据后,页面处理
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- ajax获取后台传递的json数据
最近在使用JQuery的ajax方法时,需要返回的数据为json数据,在success返回中数据处理会根据返回方式不同会采用不同的方式来生成json数据.在$.ajax方法中应该是如何来处理的,简 ...
- JS获取后台返回的JSON数据
问题:通过$.get从后台获取了一段json串{"id":"1","name":"ww"},然后要拿到这里面的id和na ...
- Ajax处理后台返回的Json数据
// 处理后台传来的Json字符串装换成Json对象 var dataJson = JSON.parse(data); // 此时可以从Json对象中取值 if(dataJson.result == ...
- 【转】Jquery ajax方法解析返回的json数据
转自http://blog.csdn.net/haiqiao_2010/article/details/12653555 最近在用jQuery的ajax方法传递接收json数据时发现一个问题,那就是返 ...
- 前台如何处理后台返回的json数据
后台返回的json数据格式: { "state": true, "data": { "id": 0, "name": & ...
- Struts1.x下使用jquery的Ajax获取后台数据
jquery中有多种Ajax方法来获取后台数据,我使用的是$.get()方法,具体的理论我不解释太多,要解释也是从别的地方copy过来的.下面就介绍我的项目中的实现方法. 前台页面: ...
- jquery序列化form表单使用ajax提交后处理返回的json数据
1.返回json字符串: /** 将一个字符串输出到浏览器 */ protected void writeJson(String json) { PrintWriter pw = null; try ...
随机推荐
- 承接上一篇,whale系统开篇,聊聊用户认证
写在前面 上次老猫和大家说过想要开发一个系统,从简单的权限开始做起,有的网友表示还是挺支持的,但是有的网友嗤之以鼻,认为太简单了,不过也没事,简单归简单,主要的还是个人技术的一个整合和实战. 没错,系 ...
- 曾侯乙编钟引发的遐想之Java设计模式:状态模式
目录 示例 简单例子 改进代码 状态模式 定义 意图 主要解决问题 何时使用 优缺点 曾侯乙编钟 状态模式-命令模式-策略模式 示例 一个类对外提供了多个行为,同时该类对象有多种状态,不同状态下对外的 ...
- 十步解决php utf-8编码
以前说过如果JS文件不是UTF8会在IE有bug,所以JS代码也要用UTF-8.还有数据库也都要用UTF-8.php用UTF-8总结: php文件本身必须是UTF-8编码.不像Java会生成class ...
- display:table-cell,inline-block 之间的缝隙
1.dispaly:table-call ,会让你对元素设置的为百分百的宽度失效,设置正常数值宽高时, vertical-align: middle;可让内部元素垂直居中,但如果加上position: ...
- 反病毒攻防研究第006篇:简单木马分析与防范part2
一.前言 一般来说,木马是既有客户端也有服务器端的.上次讨论的不过是一种特殊情况,毕竟不是人人都懂得DOS命令,因此现在木马的客户端也都是做成非常直观的界面形式,方便操作.本篇文章会从客户端与服务器端 ...
- POJ1328贪心放雷达
题意: 有一个二维坐标,y>0是海,y<=0是陆地,然后只能在y=0的岸边上放雷达,有n个城市需要被监控,问最少放多少个雷达. 思路: 贪心去做就行了,其实题目不 ...
- 绕过CDN查找网站真实ip
在渗透测试过程中,经常会碰到网站有CDN的情况.CDN即内容分发网络,主要解决因传输距离和不同运营商节点造成的网络速度性能低下的问题.说的简单点,就是一组在不同运营商之间的对接点上的高速缓存服务器,把 ...
- c/c++ 指针数组 和 数组指针
看这个标题都要晕了,我们不妨把他拆开来理解,比较容易 指针数组:对象是一个数组,数组元素的类型是指针 指针数组的定义方式: 类型名 *数组名[数组长度]; 如: int *p[8]; 数组指针:对象是 ...
- ExtJS4中Ext.onReady、Ext.define、Ext.create
1.Ext.onReady 说明:onReady内的语句块会在页面上下文加载后再执行. 2.Ext.define 说明:创建类,可以继承其他类,也可以被继承. 例子1: 1 <script ty ...
- SSM项目使用Spring提供的测试
在测试类上添加注解@RunWith(SpringJUnit4ClassRunner.class)和@ContextConfiguration(locations = {"classpath: ...