Jquery getJSON方法分析(二)

简介: getJSON与aspx 准备工作 ·Customer类 public class Customer{    public int Unid { get; set; }    public string CustomerName { get; set; }    public str...

getJSONaspx

准备工作

·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);
    });
}

 

·通过getJSONashx请求数据。返回的数据为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")

这点很重要。

 

博客园大道至简

http://www.cnblogs.com/jams742003/

转载请注明:博客园

目录
相关文章
|
负载均衡 应用服务中间件 Docker
Docker Service 创建
Docker Service 创建
|
5月前
|
人工智能 安全 iOS开发
华为首款鸿蒙电脑正式亮相
华为首款鸿蒙电脑正式亮相.华为首款鸿蒙电脑正式亮相.华为首款鸿蒙电脑正式亮相
212 5
华为首款鸿蒙电脑正式亮相
|
6月前
|
Linux 开发工具 C语言
在CentOS系统中编译安装TinyXml2的方法
以上就是在CentOS系统中编译安装TinyXml2的方法。这个过程可能会有些复杂,但只要你按照上面的步骤一步一步来,你应该能够成功地完成这个任务。如果你在这个过程中遇到任何问题,你可以在网上搜索相关的资料,或者在相关的论坛上寻求帮助。希望这个指南能够帮助你成功地在你的CentOS系统中编译安装TinyXml2。
164 22
|
7月前
|
机器学习/深度学习 设计模式 API
Python 高级编程与实战:构建 RESTful API
本文深入探讨了使用 Python 构建 RESTful API 的方法,涵盖 Flask、Django REST Framework 和 FastAPI 三个主流框架。通过实战项目示例,详细讲解了如何处理 GET、POST 请求,并返回相应数据。学习这些技术将帮助你掌握构建高效、可靠的 Web API。
|
10月前
|
Java API 调度
【JavaEE】——多线程(join阻塞,计算,引用,状态)
【JavaEE】——多线程,join,sleep引起的线程阻塞,多线程提升计算效率,如何获取线程的引用和状态
|
消息中间件 存储 Kafka
MQ保证消息幂等机制
MQ保证消息幂等机制
518 0
|
存储 数据采集 机器学习/深度学习
知识管理:从文档到数据的技术之旅
【6月更文挑战第25天】知识管理正由文档转向数据,克服传统方式如信息碎片化和检索效率低下的问题。借助大数据和AI,实现知识体系化、智能检索和数据价值挖掘。技术路径涉及数据采集、存储、挖掘、分析及可视化。未来,知识图谱、智能问答系统和个性化推荐将推动知识管理进一步发展,提升企业竞争力。
|
机器学习/深度学习 人工智能 自然语言处理
十个最适合论文写作的GPTs及其应用
十个最适合论文写作的GPTs及其应用
548 0
|
物联网 Java 测试技术
蓝桥杯-01简介
蓝桥杯-01简介