Ajax传递Json数据

首先我们要用到程序集Newtonsoft.Json.dll 和 JS插件 jquery.json-2.3.js  

我已经在资源库 提供了下载  没有的朋友可以去下载


前台aspx代码

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Ajax json.aspx.cs" Inherits="Test.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 runat="server">
    <title></title>
    <script src="JS/jquery-1.6.2.js" type="text/javascript"></script>
    <script src="JS/jquery.json-2.3.js" type="text/javascript"></script>
</head>
<body>
   <input id="Button1" type="button" value="获取数据"  />
</body>
</html>

    <script type="text/javascript">
        $("#Button1").click(function () {

            function Car(make, model, year, color) {
                this.make = make;
                this.model = model;
                this.year = year;
                this.color = color;
            }
            var car1 = new Car("Dodge", "Coronet R/T", 1968, "yellow");
            var encoded = $.toJSON(car1);
            debugger;
            $.ajax({
                type: "POST",
                url: "AjaxJsonHandle.ashx",
                data: 'encoded=' + encoded,
                dataType: 'json',
                success: function (msg) {//msg其实就是Car类的一个实例 等价 car1
                    alert(msg.color);
                }
            });

        });
</script>

后台AjaxJsonHandle.ashx代码

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using Newtonsoft.Json;

namespace Test
{
    /// <summary>
    /// AjaxJsonHandle 的摘要说明
    /// </summary>
    public class AjaxJsonHandle : IHttpHandler
    {

        public void ProcessRequest(HttpContext context)
        {
            context.Response.ContentType = "text/plain";

            string encoded = context.Request["encoded"];
            Product deserializedProduct = JsonConvert.DeserializeObject<Product>(encoded);
            context.Response.Write(encoded);
        }



        public bool IsReusable
        {
            get
            {
                return false;
            }
        }
    }
}

实体类
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;

namespace Test
{
    public class Product
    {
         public  string  make;
         public string model;
         public string year;
         public string color;
    }
}




阅读更多
个人分类: .NET
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭