`
齐晓威_518
  • 浏览: 617935 次
  • 性别: Icon_minigender_1
  • 来自: 郑州
社区版块
存档分类
最新评论

JQuery ajax json 实例

 
阅读更多
序列化字符方法:注意这里的引用“System.Runtime.Serialization”和“System.ServiceModel.Web”
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Runtime.Serialization.Json;
using System.ServiceModel.Web;///记得引用这个命名空间
using System.IO;
using System.Text;

namespace BLL
{
    /// <summary>
    /// 序列化实体类
    /// </summary>
    public class JsonHelper
    {
        public JsonHelper()
        {
            //
            // TODO: Add constructor logic here
            //
        }

        /// <summary>
        /// 把对象序列化 JSON 字符串
        /// </summary>
        /// <typeparam name="T">对象类型</typeparam>
        /// <param name="obj">对象实体</param>
        /// <returns>JSON字符串</returns>
        public static string GetJson<T>(T obj)
        {
            //记住 添加引用 System.ServiceModel.Web
            /**
             * 如果不添加上面的引用,System.Runtime.Serialization.Json; Json是出不来的哦
             * */
            DataContractJsonSerializer json = new DataContractJsonSerializer(typeof(T));
            using (MemoryStream ms = new MemoryStream())
            {
                json.WriteObject(ms, obj);
                string szJson = Encoding.UTF8.GetString(ms.ToArray());
                return szJson;
            }
        }

        /// <summary>
        /// 把JSON字符串还原为对象
        /// </summary>
        /// <typeparam name="T">对象类型</typeparam>
        /// <param name="szJson">JSON字符串</param>
        /// <returns>对象实体</returns>
        public static T ParseFormJson<T>(string szJson)
        {
            T obj = Activator.CreateInstance<T>();
            using (MemoryStream ms = new MemoryStream(Encoding.UTF8.GetBytes(szJson)))
            {
                DataContractJsonSerializer dcj = new DataContractJsonSerializer(typeof(T));
                return (T)dcj.ReadObject(ms);
            }
        }
    }
}

实体类:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Model
{
    public class jsonItem
    {
        public string UserName { get; set; }

        public string PWD { get; set; }
    }
}

调用方法:用反射方式,只需传方法就可以执行
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Services;
using System.Text;

namespace test.JQuery.json
{
    /// <summary>
    /// $codebehindclassname$ 的摘要说明
    /// </summary>
    [WebService(Namespace = "http://tempuri.org/")]
    [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
    public class json : IHttpHandler
    {

        public void ProcessRequest(HttpContext context)
        {
            context.Response.ContentType = "text/plain";
            //反射的机制:只需要传方法进来就可以执行方法、获得数据。。
            if (context.Request["cmd"] != null)
            {
                string cmd = context.Request["cmd"];
                var method = this.GetType().GetMethod(cmd);
                if (method != null)
                {
                    method.Invoke(this, new object[] { context });
                }
            }
        }

        /// <summary>
        /// 序列化的Json字符串
        /// </summary>
        public void GetInfo(HttpContext context)
        {
            Model.jsonItem item = new Model.jsonItem();
            Model.jsonItem item1 = new Model.jsonItem();
            List<Model.jsonItem> list = new List<Model.jsonItem>();
            item.UserName = "aaaa";
            item.PWD = "1111";
            list.Add(item);
            item1.UserName = "bbbb";
            item1.PWD = "2222";
            list.Add(item1);
            string strJson = BLL.JsonHelper.GetJson<List<Model.jsonItem>>(list);
            context.Response.Write(strJson);
        }

        /// <summary>
        /// 序列化的Json字符串
        /// </summary>
        public void GetInfo1(HttpContext context)
        {
            Model.jsonItem item = new Model.jsonItem();
            Model.jsonItem item1 = new Model.jsonItem();
            List<Model.jsonItem> list = new List<Model.jsonItem>();
            item.UserName = "abc";
            item.PWD = "123";
            list.Add(item);
            item1.UserName = "bcd";
            item1.PWD = "234";
            list.Add(item1);
            string strJson = BLL.JsonHelper.GetJson<List<Model.jsonItem>>(list);
            context.Response.Write(strJson);

            //string output = string.Format("'UserName':'{0}','PWD':'{1}'", "cccc", "3333");
            //string output1 = string.Format("'UserName':'{0}','PWD':'{1}'", "dddd", "4444");
            //StringBuilder result = new StringBuilder();
            //result.AppendFormat("[{0}{1}{2},{3}{4}{5}]", "{", output, "}", "{", output1, "}");
            //context.Response.Write(result.ToString());
            //context.Response.End();
        }


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

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="http://imwujianhao.blog.163.com/blog/../jquery-1.4.2.js" type="text/javascript"></script>

    <script type="text/javascript" language="javascript">
        function BtnClick() {
            var uid = $("#Text1").val();
            var pwd = $("#Text2").val();
            $.ajax({
                url: "json.ashx",
                type: "POST",
                data: { cmd: "GetInfo", Password: pwd },
                beforeSend: loading,
                success: function(data) {
                    var json = eval(data); //eval("(" + data + ")");
                    $("#dd").empty(); //清除dd的信息
                    $.each(json, function(idx, item) {
                        var user = item.UserName;
                        var pass = item.PWD;
                        $("#dd").append("<b>用户名:" + user + " 密码:" + pass + "</b>");
                    });
                }

            });
        }
        function loading() {
            $("#dd").html("<img src='http://imwujianhao.blog.163.com/blog/20-0.gif' />");
        }
        function BtnClick1() {
            $.ajax({
                url: "json.ashx",
                type: "POST",
                data: { cmd: "GetInfo1" },
                beforeSend: loading,
                success: function(data) {
                    //使用eval函数
                    var json = eval(data);
                    $("#dd").empty();
                    //因为上面为list集合
                    for (var i = 0; i < json.length; i++) {
                        $("#dd").append("<h3>用户名:" + json[i].UserName + " 密码:" + json[i].PWD + "</h3>");
                        //alert(json[i].Id + "Name:" + json[i].Name);
                    }
                }

            });
        }
    </script>

</head>
<body>
    <div>
        <input type="text" name="Text1" id="Text1" /><br />
        <input type="text" name="Text2" id="Text2" />
        <br />
        <input type="button" id="btn1" value="事件1" onclick="BtnClick()" />
        <input type="button" id="Button1" value="事件2" onclick="BtnClick1()" />
    </div>
    <div id="dd">
        sd
    </div>
</body>
</html>
分享到:
评论

相关推荐

    ajax+json实例

    **Ajax+JSON 实例详解** 在现代Web开发中,AJAX(Asynchronous JavaScript and XML)技术已经成为提升用户体验的重要工具,它允许网页在不刷新整个页面的情况下与服务器进行数据交互。结合JSON(JavaScript Object ...

    jquery ajax用json传值实例asp.net

    总之,这个"jquery ajax用json传值实例 asp.net"是一个很好的学习资源,可以帮助初学者快速掌握如何在客户端和服务器之间使用AJAX和JSON进行数据交换。通过实践和理解这些基础概念,你可以进一步提升你的Web开发技能...

    asp+jquery ajax实例源码,添加,删除,修改,分页

    【ASP + jQuery AJAX 实例源码详解】 ASP (Active Server Pages) 是微软开发的一种服务器端脚本语言,常用于构建动态网页。jQuery 是一个流行的JavaScript库,它简化了DOM操作、事件处理、动画以及AJAX交互。AJAX...

    JqueryAjax简单实例

    在这个"JqueryAjax简单实例"中,我们主要关注如何在Visual Studio 2005 C#环境下利用jQuery实现AJAX的功能。首先,我们需要确保项目中已经引入了jQuery库。这通常通过在HTML头部添加jQuery库的CDN链接或者将jQuery....

    SSH+jQuery+json 实现的Ajax操作,绝对精华,代码简练清晰,绝对能看明白

    这个压缩包中的资源,"SSH+jQuery+json 实现的Ajax操作,绝对精华,代码简练清晰,绝对能看明白",显然提供了一个使用这些技术实现Ajax级联操作的实例。下面将详细介绍这些技术及其在Ajax操作中的应用。 **SSH ...

    php基于jquery的ajax技术传递json数据简单实例.docx

    PHP 基于 jQuery 的 Ajax 技术传递 JSON 数据简单实例 本文主要介绍了 PHP 基于 jQuery 的 Ajax 技术传递 JSON 数据方法,以完整实例形式分析了 PHP 基于 jQuery 的 Ajax 无刷新提交数据实现方法。下面是详细的知识...

    .Net JQuery$.ajax Json实例应用【附带的源码】

    .Net JQuery$.ajax Json实例应用 有人在评论里面骂,这个不能用,现在把源码传上来,估计是没有引用System.Web.Extensions和System.Web.Extensions.Design这两个Dll

    jquery json分页实例

    这个实例展示了如何结合jQuery的Ajax功能和JSON数据格式来实现无刷新分页,提高了用户界面的响应性和互动性。在实际项目中,还可以考虑添加缓存机制、错误处理、分页效果等增强功能,以进一步提升用户体验。

    jquery+json实例

    jQuery提供了`$.ajax()`函数和`$.getJSON()`函数,方便地实现了从服务器获取JSON数据并解析的过程。例如,使用`$.getJSON()`获取JSON数据: ```javascript $.getJSON('data.json', function(data) { console.log...

    struts2使用jquery整合ajax、json用户登录实例源码

    在本实例中,我们将探讨如何利用Struts2、jQuery、Ajax和JSON技术实现一个用户登录功能。 首先,我们需要理解Ajax的核心概念,即在不刷新整个页面的情况下,向服务器发送异步请求并获取数据。这极大地提升了用户...

    jQuery中ajax请求后台返回json数据并渲染HTML的方法

    本文介绍了如何在jQuery中通过AJAX请求从后台获取JSON格式的数据,并将这些数据动态地渲染到HTML中去。具体的知识点可以分为以下几个方面: 1. jQuery的AJAX方法:在文章中,通过使用jQuery提供的$.ajax()方法来...

    Struts2+JQuery+Json实例

    在"Struts2+JQuery+Json实例"中,我们探讨的是如何结合这三个技术来创建动态、响应式的Web应用。以下是这个实例中的关键知识点: 1. **获取JS值**:在JQuery中,我们可以使用`val()`函数来获取表单元素的值,如...

    struts2+jQuery+json 实例

    结合实例,"struts2+jQuery+json 实例"很可能是创建了一个Web应用,用户在前端通过jQuery发送AJAX请求,这些请求可能包含表单数据或者对页面的某些操作。后端Struts2框架接收到请求后,会调用相应的Action执行业务...

    Django + jquery + json 实例实现 在此记录

    在本实例中,我们将探讨如何使用Django框架与jQuery库以及JSON数据格式来构建一个功能性的Web应用。Django是一个强大的Python Web框架,它提供了一整套解决方案来处理后端逻辑,而jQuery则是一个广泛使用的...

    jQuery+Json 实现Ajax无刷新分类管理实例演示

    jQuery+Json 实现Ajax无刷新分类管理实例演示 基于jquery+json实现的网站后台管理中无刷新的分类管理功能演示,如上图演示所示,可无刷新添加一个分类、在动画弹出的对话框中输入分类名称即可实现保存,同进还可无...

    JSON+js+jquery+ajax基础.zip

    5. 结合使用jQuery和AJAX:演示如何利用jQuery简化AJAX调用,以及如何处理JSON响应数据,实现实时更新页面内容。 这些知识点对于想要学习Web开发,特别是Java RIA(Rich Internet Application)开发的人员非常重要...

    Ajax-json.rar_JSON_ajax json_java Jquery ajax_javascript_json aj

    本资源"Ajax-json.rar"显然是一份关于如何利用AJAX和JSON进行Web开发的实例教程。以下是关于这两个主题的详细讲解。 **AJAX (异步JavaScript和XML)** AJAX是一种在无需刷新整个页面的情况下,能够更新部分网页的...

    Struts+Jquery+Ajax+Json应用实例

    在"Struts+Jquery+Ajax+Json应用实例"中,前端使用jQuery库来监听用户事件,比如点击按钮。当事件触发时,jQuery通过Ajax发送一个HTTP请求到后端的Struts Action。在Struts框架中,这个Action会处理请求,执行必要的...

    jquery ajax java实例非常实用

    这篇关于“jQuery AJAX Java实例”的内容将深入探讨这三个技术如何协同工作,以及如何利用它们来提升网页的动态性和效率。 首先,jQuery是一个流行的JavaScript库,它简化了DOM操作、事件处理、动画效果和Ajax交互...

    struts2+jQuery+json 实例 测试过了 运行成功 从别人那偷来的

    在"struts2+jQuery+json"的实例中,Struts2负责处理后端的业务逻辑和数据管理,当用户触发一个操作(如点击按钮)时,jQuery会发送一个Ajax请求到服务器。这个请求通常包含一些参数,这些参数可能是通过jQuery从DOM...

Global site tag (gtag.js) - Google Analytics