getJSON与aspx

准备工作

·Customer类

public class Customer
{
    public int Unid { get; set; }
    public string CustomerName { get; set; }
    public string Memo { get; set; }
    public string Other { get; set; }
}

(一)ashx

Customer customer = new Customer 
       { Unid=1,CustomerName="宋江",Memo="天魁星",Other="黑三郎"};

string strJson = Newtonsoft.Json.JsonConvert.SerializeObject(customer);

context.Response.Write(strJson);

function GetCustomer_Ashx() {
    $.getJSON(
    "webdata/Json_1.ashx",
    function(data) {
        var tt = "";
        $.each(data, function(k, v) {
            tt += k + ":" + v + "<br/>";
        })

$("#divmessage").html(tt);
    });
}

·通过getJSON向ashx请求数据。返回的数据为JSON对象。

(二)ashx文件,但返回的是实体集合

Customer customer = new Customer 
    { Unid=1,CustomerName="宋江",Memo="天魁星",Other="黑三郎"};

Customer customer2 = new Customer 
    { Unid = 2, CustomerName = "吴用", Memo = "天机星", Other = "智多星" };

List<Customer> _list = new List<Customer>();
_list.Add(customer);
_list.Add(customer2);

string strJson = Newtonsoft.Json.JsonConvert.SerializeObject(_list);
context.Response.Write(strJson);

function GetCustomerList() {
    $.getJSON(
    "webdata/Json_1.ashx",
    function(data) {
        var tt = "";
        $.each(data, function(k, v) {
            $.each(v,function(kk, vv) {
                tt += kk + ":" + vv + "<br/>";
            });
        });
        $("#divmessage").html(tt);
    });
}

具体可以参看:http://www.cnblogs.com/jams742003/archive/2009/12/25/1632276.html

(三)请求aspx文件

·cs文件

protected void Page_Load(object sender, EventArgs e)
{
   Customer customer = new Customer 
     { Unid = 1, CustomerName = "宋江", Memo = "天魁星", Other = "黑三郎" };

string strJson = Newtonsoft.Json.JsonConvert.SerializeObject(customer);

Response.Write(strJson);
}

·Aspx文件

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Json_1.aspx.cs" 
  Inherits="webdata_Json_1" %>

前台文件只保留Page声明,其它全部删除。

·js文件

function GetCustomer_Aspx() {
    $.getJSON(
    "webdata/Json_1.aspx",
    function(data) {
               var tt = "";
               $.each(data, function(k, v) {
                    tt += k + ":" + v + "<br/>";
                })
                $("#divmessage").html(tt);
    });
}

这个部分与请求ashx文件时相同。

请求实体集合时,与ashx时相同,这里不做重复。

(四)请求文本文件

文本文件提供json字符串,由$.getJSON得到json对象。

·文本文件

{Unid:1,CustomerName:"宋江",Memo:"天魁星",Other:"黑三郎"}

文本文件提供json串,对于json的组成格式,请参见其它文档。对于这一实体json,会被忽略空行与空格。

function GetCustomer_txt() {
    $.getJSON(
    "webdata/Json_1.txt",
    function(data) {
        var tt = "";
        $.each(data, function(k, v) {
            tt += k + ":" + v + "<br/>";
        })
        $("#divmessage").html(tt);
    });
}

解析的方法与其它的相同。

对于多行的如下:

文本:

[

{Unid:1,CustomerName:"宋江",Memo:"天魁星",Other:"黑三郎"},

{Unid:2,CustomerName:"吴用",Memo:"天机星",Other:"智多星"}

]

解析:

function GetCustomer_TxtList() {
    $.getJSON(
    "webdata/Json_1.txt",
    function(data) {
        var tt = "";
        $.each(data, function(k, v) {
            $.each(v, function(kk, vv) {
                tt += kk + ":" + vv + "<br/>";
            });
        });
        $("#divmessage").html(tt);
    });
}

与其它的相同。

(五)带参数ajax请求

以ashx为例子,按客户id来请求客户。

·Ashx文件

if(context.Request["iUnid"]==null)
   return;

context.Response.ContentType = "text/plain";

Customer customer = new Customer 
{ Unid = 1, CustomerName = "宋江", Memo = "天魁星", Other = "黑三郎" };

Customer customer2 = new Customer 
{ Unid = 2, CustomerName = "吴用", Memo = "天机星", Other = "智多星" };

List<Customer> _list = new List<Customer>();
_list.Add(customer);
_list.Add(customer2);

int iCustomerId =Convert.ToInt32(context.Request["iUnid"]);
var cus = from q in _list
  where q.Unid == iCustomerId
  select q;

string strJson = Newtonsoft.Json.JsonConvert.SerializeObject(cus);
context.Response.Write(strJson);

·ajax请求

function GetCustomer_AshxWithPara() {
    $.getJSON(
    "webdata/Json_2.ashx",
    { iUnid: 1 },
    function(data) {
        var tt = "";
        $.each(data, function(k, v) {
            $.each(v, function(kk, vv) {
                tt += kk + ":" + vv + "<br/>";
            });
        });

$("#divmessage").html(tt);
    });
}

其中参数也是以k/v对格式发出。请求返回的可以看到:在服务端以Customer列表集合返回。

在jquery库中,getJSON其实是调用的:Query.get(url, data, callback, "json")

这点很重要。

Jquery getJSON方法分析(二)相关推荐

  1. Jquery getJSON方法分析(一)

    准备工作 ·Customer类 public class Customer {     public int Unid { get; set; }     public string Customer ...

  2. 【Android 逆向】整体加固脱壳 ( DEX 优化流程分析 | DexPrepare.cpp 中 dvmOptimizeDexFile() 方法分析 | /bin/dexopt 源码分析 )

    文章目录 前言 一.DexPrepare.cpp 中 dvmOptimizeDexFile() 方法分析 二./bin/dexopt 源码分析 前言 上一篇博客 [Android 逆向]整体加固脱壳 ...

  3. jQuery学习(十二)—jQuery中对象的查找方法总结

    jQuery学习(十二)-jQuery中对象的查找方法总结 一.find方法 作用:在元素1中查找元素2,类似于选择器中的后代选择器 格式:元素1.find(元素2),元素2为CSS选择器或者jQue ...

  4. ajax的get json数据格式,jQuery / 用getJSON()方法加载JSON格式数据 - 汇智网

    加载JSON格式数据 jQuery的AJAX中使用getJSON()方法异步加载JSON格式数据.获取服务器中的数组,并对获取的数据进行解析,显示在页面中. 语法:$.getJSON(url,[dat ...

  5. jQuery源码分析之$.ajax方法

    请阅读我其它的关于inspectPrefiltersOrTransport以及ajaxTransport等相关博文,请了解readyState状态码 针对获取到location.href的兼容代码: ...

  6. jquery 遍历java对象,js/jquery遍历对象和数组的方法分析【forEach,map与each方法】...

    本文实例讲述了js/jquery遍历对象和数组的方法.分享给大家供大家参考,具体如下: JS forEach方法 arr[].forEach(function(value,index,array){ ...

  7. 【数据分析】数据分析方法(二):逻辑树分析方法

    数据分析方法(二):逻辑树分析方法 逻辑树分析方法是把复杂问题拆解成若干个简单的子问题,然后像树枝那样逐步展开. (1)工作计划分解 不管是在实际生活中还是工作中,我们经常会使用逻辑树分析方法来分析问 ...

  8. jQuery使用getJSON方法获取json数据完整示例

    本文实例讲述了jQuery使用getJSON方法获取json数据.分享给大家供大家参考,具体如下: demo.js: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 ...

  9. jQuery源码分析之实例find和filter方法的区别七问

    问题1:jQuery.filter的源码是什么? jQuery.filter = function( expr, elems, not ) {var elem = elems[ 0 ];//如果含有第 ...

最新文章

  1. 100多个Jupyter精选资源合集!GitHub高赞,包括项目、库、教程等11个方面
  2. .NET新手系列(八)
  3. 78. Leetcode 264. 丑数 II (堆-技巧二-多路归并)
  4. scala spark 埋点统计_spark—1:WordCount(Python与Scala对照)
  5. Myeclipse中快速插入HttpServlet子类中doGet和doPost方法
  6. sql执行有时候快有时候慢_如何让你的 SQL 执行的飞起?
  7. 【线段树】二进制(luogu 4428)
  8. c语言c1变成e并输出,【图片】(原创)用纯C变了个变色输出字符的程序。。。【c语言吧】_百度贴吧...
  9. 1、如何进行字符串常量中的字符定位_Java String:字符串常量池,我相信会有很多朋友不很理解这部分...
  10. C#中的多线程 - 多线程的使用 z
  11. displaytag 国际化 探索日志 注释
  12. sqlserver恢复已经删除的表记录
  13. 怎样选择合适的电流继电器
  14. oracle获取本月天数,Oracle查询日期所属月份的天数
  15. 上海富爸爸_放弃高薪选择财务自由之路(转)
  16. 腾讯跟阿里两位王者之间的对比
  17. 人机对话比拼,Chat GPT和文心一言谁更接近真实交流?”
  18. Python数据可视化库Matplotlib折线图(一)
  19. C语言之数组按协议存储与按协议解析
  20. EXPIRED和OBSOLETE的区别

热门文章

  1. oracle数据库创建回滚,如何重建Oracle数据库的回滚段?
  2. header python 环境信息_【关于header信息的构造】Python模拟登录出现乱码
  3. django与mysql实现增删_django与mysql实现简单的增删查改
  4. linux 运行eclipse,解决Linux下Eclipse启动错误
  5. php array colum,php5.5新数组函数array_column使用
  6. centos6.3 nginx php,CentOS 6.3下nginx、php-fpm、drupal快速部署
  7. mysql 相同字段相减_mysql datetime 类型字段相减
  8. 1107: 回文数猜想(函数专题)
  9. linux+cp+-rdf,简单构建基于RDF和SPARQL的KBQA(知识图谱问答系统)
  10. airpods删除别人的配对_怎么不让别人连我的airpods