问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

如何获取JQUERY AJAX返回的JSON结果集实现代码

发布网友 发布时间:2022-05-15 03:56

我来回答

2个回答

懂视网 时间:2022-05-15 08:17

这次给大家带来jquery+ajax获取并操作json数据(附代码),jquery+ajax获取并操作json数据的注意事项有哪些,下面就是实战案例,一起来看一下。

对于问题从后台获取json数据,将内容填充到下拉列表,代码非常简单,具体过程请看下面代码。

需求:url:链接 par:ID sel:下拉列表选择器

//获取下拉列表

function BuildSelectBox(url, par, sel) {
 $(sel).empty();
 $.getJSON(url, { id: par }, function (json, textStatus) {
 for (var i = json.length - 1; i >= 0; i--) {
 $(sel).prepend('<option value="' + json[i].Id + '">' + json[i].Name + '</option>')
 };
 $(sel).prepend('<option value="0">请选择</option>')
 });
}

以上代码很简单吧,此问题很easy的解决了。

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"> 
 <p> 
 <asp:DropDownList ID="ddl1" runat="server" onchange="GetPara(this)"> 
 </asp:DropDownList> 
 <ul id="list"></ul> 
 <input type="button" value="保存数据" onclick="SavePara()" /> 
 </p> 
 </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; 
 } 
}

相信看了本文案例你已经掌握了方法,更多精彩请关注Gxl网其它相关文章!

推荐阅读:

ajax读取properties步骤详解

jquery+ajax提交form表单方法总结

jQuery+与ajax怎么实现局部刷新功能

热心网友 时间:2022-05-15 05:25

jquery的ajax, get, post等等API都可以的。
第一种:$.ajax({
type: "POST",
url: "some.php",
dataType: "json",
data: "name=John&location=Boston",
success: function(msg){
//msg就是个json对象了,直接msg调用json的key就可以了
}
});
第二种:$.get("test.php", { name: "John", time: "2pm" },
function(data){
alert("data的key值 " + data.key);
}, "json");
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
考研可以查试卷的各题得分吗 如何看到自己的考研试卷 考研成绩可以查各题得分吗 原神机关棋谭双风双岩队伍怎么玩_机关棋谭双风双岩队伍推荐 原神双风阵容怎么搭配 原神魈双风阵容怎么搭配-魈双风阵容搭配推荐 Java有发展潜力还是C#有发展潜力 兴智联和电信什么关系 玫瑰花酱做法二 武汉兴智联科技服务有限公司怎么样 Windows开机就蓝屏,也没有修复计算机的选项,怎么办在线等 电脑系统无法启动和修复mq按F8没有恢复出厂设置选项imqu怎么办 电脑没有恢复选项 怎么样将MP3小屏改大屏大字体显示 大屏幕显示器,软件字体过小,怎么解决? 11年523大屏字体怎么切换 电脑大屏显字太小怎么弄大 js怎么使用ajax回调函数里面的值 老师你好,护理学专业的学生考营养师有用吗? 在jsp中怎么运用ajax sodo头戴蓝牙耳机能拆开换电池吗? oppoa11为什么信息发不出去? 红米手机因内存不足删除了文档内的文件照片视频丢失在烟台哪个维修厂家能恢复? 红米note8pro储存卡删除文件有误 红米note手机怎么恢复删除的文件 在红米7A手机文件管理里不小心删掉私密相册里未同步的视频应该怎么找回来? 文件不小心删除了怎么恢复用vivo红米手机 红米手机文件管理误删除恢复 求同花顺EXPMA(参数12)的选股公式 我想要一个通达信软件下用EXPMA选股的公式 附加量比大于前五天均量50% 和5 10 30 60均线多头排列。 asp.net jquery ajax 传json 怎么获取 jquery的load()方法怎么用的啊,为什么我用了没有效果呢 首套房住房贷款5.83高吗? 有没有人知道jQuery里Ajax的load怎样用? ajax jquery load是用的get请求方式么 jquery ajax问题关于load的! jquery ajax load 方法 怎样将主界面的值给被加载界面 非中矿业是真的吗?非中矿业挣钱靠谱吗? bbx交易所和火币什么关系? jquery ajax 的load()方法无法获取页面内容 老婆的微信好友被我删除拉黑第二天翻看老婆的手机黑名单里那个人又不在了? - 信息提示 己婚男人,爱睡觉打游戏没有安稳工作,爱抱怨嘴巴还哆嗦吵架还爱动手,拉黑老婆微信后来又删除老婆微信? 男人生气就把女朋友和老婆微信删除拉黑有这样男人吗? 红圈1头像怎么制作 打嗝不断很尴尬,教你哪些小妙招,治疗打嗝只要1分钟? 一直打嗝不止怎么办 试试这些妙招 银联退款3到15日到账要那么久吗? c#一个在后台用Image绘制的页面怎么用ajax在另一个页面异步显示而不用刷新 如何在C#下 用AJAX实现DIV刷新