Ajax传递Json数据

来源:互联网 发布:淘宝黑科技是什么 编辑:程序博客网 时间:2024/04/28 09:55

首先我们要用到程序集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;    }}




原创粉丝点击