jQuery getJSON

Html代码:
<script type="text/javascript" src="/js/jquery-1.4.js"></script>
<script type="text/javascript">
function jsonTest1()
{
     $.ajax({       
                url:
"Handler.ashx",
                data:{
"type":"ajax"},
                datatype:
"json",   
                type:
"get",
                success:
function(data)
                   {     
                    document.getElementById(
'div1').innerHTML=data;//因为mime类型是文本 所以返回回来的是json格式的字符串
                   }        
                  
             });
}

function jsonTest2()
{
       $.getJSON(     
                       
'Handler.ashx',
                       {
'type''json','name':'qixuejia' },   //类型格式   
                       function(data)
                       {     
                        
for(var i=0;i<data.length;i++)
                           {
                            alert(data[i][
"UserId"])
                           }
                       }        
                      
                 );
}

</script>
    
<form id="form1" runat="server">
    
<div id="div1">    
    
</div>
    
<input  type="button" value="jQuery.ajax()" onclick="jsonTest1()"/>
    
<input  type="button" value="jQuery.getJSON()" onclick="jsonTest2()"/>
    
</form>

 

Ashx处理程序:如果需要返回json格式的对象,需要把mime类型设置为:"application/json"。

查看jQuery源文件,可以看出getJSON这样实现的:

getJSON: function( url, data, callback ) {
  return jQuery.get(url, data, callback, "json");
 },

    public void ProcessRequest(HttpContext context)
    {
        
if (context.Request.Params["type"].Equals("ajax"))
        {
            context.Response.ContentType 
= "text/plain";
        }
        
else
        {
            context.Response.ContentType 
= "application/json";
        }
        GetInfo(context);
    }

    
public bool IsReusable
    {
        
get
        {
            
return false;
        }
    }

    
public void GetInfo(HttpContext context)
    {
        System.Collections.Generic.List
<UserInfo> listUser = UserInfoManage.GetUserInfoBySQL("Select Top 5 * From Userinfo");
        IsoDateTimeConverter timeConverter 
= new IsoDateTimeConverter();     
        timeConverter.DateTimeFormat 
= "yyyy'-'MM'-'dd' 'HH':'mm':'ss";  
        
string ResJsonStr = JsonConvert.SerializeObject(listUser, timeConverter);
        context.Response.Write(ResJsonStr);     
    }

 

 

 

posted @ 2010-07-24 17:00  Cat Qi  阅读(950)  评论(0编辑  收藏  举报