walleyekneel 发表于 2013-1-29 11:20:51

Json对象(ajax返回一个json对象)

一般处理程序
<%@ WebHandler Language="C#" Class="ajaxTest" %>

using System;
using System.Web;
using System.Web.Script.Serialization;

public class Person1
{
    public string Name { get; set; }
    public string Age { get; set; }
}
public class ajaxTest : IHttpHandler {
   
    public void ProcessRequest (HttpContext context) {
      context.Response.ContentType = "text/plain";

      JavaScriptSerializer jss = new JavaScriptSerializer();

      Person1 p2 = new Person1();
      p2.Name = "ckg";
      p2.Age = "22";
      //context.Response.Write("1111");
      var txt = jss.Serialize(p2);
      context.Response.Write(txt);
    }

    public bool IsReusable {
      get {
            return false;
      }
    }

}



前台
ajaxJson.html
<!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.4.1.js" type="text/javascript"></script>
<script language="javascript" type="text/javascript">
      var xmlHttp = null;
      function createXMLHttp()
      {
            if(window.ActiveXObject)
                {
                  xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
                }
            else if(window.XMLHttpRequest)
                {
                  xmlHttp = new XMLHttpRequest();
                }
      }
      function checka()
      {
            createXMLHttp();   
               var txt=$("#Text1").val();
                var url = "ajaxTest.ashx?txt="+txt;
                xmlHttp.open("post",url,true);//采用post传输数据不会中断,并且传输容量可以达到4M   
                xmlHttp.onreadystatechange = sub;
                xmlHttp.send();
      }
      function sub()
      {
            if(xmlHttp.readyState == 4&&xmlHttp.status==200)
            {
               var txt=xmlHttp.ResponseText;
               $("#Text2").val(txt);
            }
      }
   
   //以下是jquery的AJAX
   $(function(){
       $("#Button2").click(function(){
         var value=$("#Text1").val();
         $.post("ajaxTest.ashx?"+new Date(),{txt:value},function(data,textStatus){
            //alert(data);
                var arry=$.parseJSON(data);
                alert(arry.Name);
                alert(textStatus);
         
         });
      //   alert(value);
       });
   })
   
    </script>

</head>
<body>
    <input id="Text1" type="text" />
    <input id="Button1" type="button" value="ajax测试"/>
    <input id="Button2" type="button" value="ajax测试jquery"/>
    <input id="Text2" type="text" />
</body>
</html>
页: [1]
查看完整版本: Json对象(ajax返回一个json对象)