Jquery+Json+Handler文件结合应用实例

简介: 1、页面script代码-【model数据、字符串】 //提交验证 function ChekFrom() { var msg = ""; ...

1、页面script代码-【model数据、字符串】

    <script type="text/javascript" charset="utf-8" src="Js/jquery-1.6.2.min.js"></script>
    <script type="text/javascript">
        //提交验证
        function ChekFrom()
        {
            var msg = "";
            //取值
            var UserName = $("#txtUserName").val();
            //验证
            if (UserName == "") {
                msg += "用户名为空!/r/n";

            } else {

                $.ajax({
                    type: "POST",
                    url: "/Controller/UserHandler.ashx",
                    data: { Action: "IsUserName", UserName: UserName },
                    cache: false, //设置时候从浏览器中读取 缓存  true 表示 是
                    datatype: "json",
                    async: false,
                    success: function (result) {
                        if (result.code == 1) {
                            msg += "该用户名已存在!/r/n";

                        }
                    }
                });
            }

            if (msg == "") {
                return true;
            } else {
                alert(msg);
                return false;
            }



        }


        //总计金额  可以写成js方法
        function BuyTotal() {

            var Total = $.ajax({
                type: "POST",
                dataType: text,//xml html script json 
                url: "/Controller/UserHandler.ashx",
                data: { Action: "BuyTotal" },
                async: false
            }).responseText;

            return Total;
        }

    </script>


 

2、返回Model的handler代码

<%@ WebHandler Language="C#" Class="UserHandler" %>

using System;
using System.Web;
using ECS.Utility;
using System.Collections.Generic;

//使用session的时候必须继承IRequiresSessionState接口:, System.Web.SessionState.IRequiresSessionState
public class UserHandler : IHttpHandler
{

    public void ProcessRequest(HttpContext context)
    {
        context.Response.ContentType = "text/plain";
        //全局默认返回信息
        string Json = JsonUtil.Serialize(new { code = 0, msg = "" });

        //取值
        string Action = context.Request.Form["Action"] == null ? "" : context.Request.Form["Action"].ToString().Trim();
        string UserName = context.Request.Form["UserName"] == null ? "" : context.Request.Form["UserName"].ToString().Trim();
        //判断
        if (!string.IsNullOrEmpty(Action))
        {
            //验证用户
            if (Action.Equals("IsUserName"))
            {
                //验证
                if (IsExistUser(UserName))
                {
                    Json = JsonUtil.Serialize(new { code = 1, msg = "用户名已存在!" });
                }
                else
                {
                    Json = JsonUtil.Serialize(new { code = 0, msg = "用户名可以注册!" });
                }

            }

            //计算金额
            if (Action.Equals("BuyTotal"))
            {
                //Json格式
                //Json = JsonUtil.Serialize(new { code = 1, msg = "成功", Total = 100 });
                //
                Json = "100";
            }
            else
            {   //Json格式
                //Json = JsonUtil.Serialize(new { code = 0, msg = "失败", Total = 0 });
                Json = "0";
            }

        }

        //最终返回信息
        context.Response.Write(Json);
    }

    /// <summary>
    /// 判断UserName是否存在
    /// </summary>
    /// <param name="userName">用户名</param>
    /// <returns>返回true or false</returns>
    public bool IsExistUser(string userName)
    {

        List<LSY.Model.A_User> UserList = new LSY.BLL.A_User().GetList(null, "UserName='" + userName.Trim() + "'and Type=0", null);
        if (UserList.Count > 0)
        {
            return true;
        }
        else
        {
            return false;
        }
    }

    public bool IsReusable
    {
        get
        {
            return false;
        }
    }

}


3、页面script代码-【DataTable、List】

//查询城市
function getCity(CityVal) {
    var DDL_Province = $("#DDL_Province");
    var DDL_City = $("#DDL_City");
    DDL_City.empty();
    DDL_City.append("<option value=\"0\">市/区</option>");
    $.ajax(
    {
        type: "post",
        url: "/UserCart/Controller/CityAreas.ashx",
        data: { "type": "city", "provinceID": DDL_Province.val() },
        dataType: "json",
        async: false,
        success: function (msg) {

            for (var i = 0; i < msg.length; i++) {

                if (CityVal == msg[i].CityName) {
                    if (msg[i].IsCOD == 1) {
                        DDL_City.append("<option value=" + msg[i].CityID + " selected=\"selected\">" + msg[i].CityName + "*</option>");
                    } else {
                        DDL_City.append("<option value=" + msg[i].CityID + " selected=\"selected\">" + msg[i].CityName + "</option>");
                    }
                } else {
                    if (msg[i].IsCOD == 1) {
                        DDL_City.append("<option value=" + msg[i].CityID + " >" + msg[i].CityName + "*</option>");
                    } else {
                        DDL_City.append("<option value=" + msg[i].CityID + " >" + msg[i].CityName + "</option>");
                    }
                }
            }
            getArea('');
            GetAddreesSpan();
        }
    })
};


 

4、返回数据集Handler代码

<%@ WebHandler Language="C#" Class="CityAreas" %>

using System;
using System.Web;
using System.Collections.Generic;

public class CityAreas : IHttpHandler
{

    public void ProcessRequest(HttpContext context)
    {
        context.Response.ContentType = "text/plain";
        if (context.Request["type"] == "city")
        {
            context.Response.Write(select2(context.Request["provinceID"]));
        }
        else if (context.Request["type"] == "district")
        {
            context.Response.Write(select3(context.Request["cityID"]));
        }
    }


    public string select2(string id)
    {
        string str = string.Empty;
        if (!string.IsNullOrEmpty(id))
        {
            List<ECS.Model.A_CityAreas> list = new ECS.BLL.A_CityAreas().GetList(null, "deep=2 and ParentID=" + id, null);
            if (list != null && list.Count > 0)
            {
       
                System.Text.StringBuilder sb = new System.Text.StringBuilder();
                sb.Append("[");
                foreach (ECS.Model.A_CityAreas item in list)
                {
                    sb.Append("{");
                    sb.Append("\"CityID\":\"" + item.id + "\",\"CityName\":\"" + item.AreaName + "\",\"IsCOD\":\"" + item.IsCOD + "\"");
                    sb.Append("},");
                }
                sb.Remove(sb.Length - 1, 1);
                sb.Append("]");
                str = sb.ToString();
            }
           
        }
        return str;
    }

    public string select3(string id)
    {
        string str = string.Empty;
        if (!string.IsNullOrEmpty(id))
        {
            List<ECS.Model.A_CityAreas> list = new ECS.BLL.A_CityAreas().GetList(null, "deep=3 and ParentID=" + id, null);
            if (list != null && list.Count > 0)
            {
              
                System.Text.StringBuilder sb = new System.Text.StringBuilder();
                sb.Append("[");
                foreach (ECS.Model.A_CityAreas item in list)
                {
                    sb.Append("{");
                    sb.Append("\"DistrictID\":\"" + item.id + "\",\"DistrictName\":\"" + item.AreaName + "\",\"IsCOD\":\"" + item.IsCOD + "\"");
                    sb.Append("},");
                }
                sb.Remove(sb.Length - 1, 1);
                sb.Append("]");
                str = sb.ToString();
            }
           
        }
        return str;
    }
    public bool IsReusable
    {
        get
        {
            return false;
        }
    }

}


 

 

相关实践学习
通义万相文本绘图与人像美化
本解决方案展示了如何利用自研的通义万相AIGC技术在Web服务中实现先进的图像生成。
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情:&nbsp;https://www.aliyun.com/product/ecs
目录
相关文章
|
JSON 算法 vr&ar
目标检测笔记(五):查看通过COCOEvaluator生成的coco_instances_results.json文件的详细检测信息,包含AP、AR、MR和DR等
本文介绍了如何使用COCO评估器通过Detectron2库对目标检测模型进行性能评估,生成coco_instances_results.json文件,并利用pycocotools解析该文件以计算AP、AR、MR和DR等关键指标。
977 1
目标检测笔记(五):查看通过COCOEvaluator生成的coco_instances_results.json文件的详细检测信息,包含AP、AR、MR和DR等
|
7月前
|
XML JSON API
如何在 Postman 中上传文件和 JSON 数据
如果你想在 Postman 中同时上传文件和 JSON 数据,本文将带你一步一步地了解整个过程,包括最佳实践和技巧,让你的工作更轻松。
|
9月前
|
开发工具 git 索引
怎么取消对project.private.config.json这个文件的git记录
通过以上步骤,您可以成功取消对 `project.private.config.json`文件的Git记录。这样,文件将不会被包含在未来的提交中,同时仍保留在您的工作区中。
262 28
|
10月前
|
JSON 小程序 UED
微信小程序 app.json 配置文件解析与应用
本文介绍了微信小程序中 `app.json` 配置文件的详细
1555 12
|
11月前
|
JavaScript
jquery图片和pdf文件预览插件
EZView.js是一款jquery图片和pdf文件预览插件。EZView.js可以为图片和pdf格式文件生成在线预览效果。支持的文件格式有pdf、jpg、 png、jpeg、gif。
335 16
|
JavaScript 前端开发 容器
使用 jQuery 中的 this 实例
使用 jQuery 中的 this 实例
56 1
|
JSON 数据格式 Python
Python实用记录(十四):python统计某个单词在TXT/JSON文件中出现的次数
这篇文章介绍了一个Python脚本,用于统计TXT或JSON文件中特定单词的出现次数。它包含两个函数,分别处理文本和JSON文件,并通过命令行参数接收文件路径、目标单词和文件格式。文章还提供了代码逻辑的解释和示例用法。
320 0
Python实用记录(十四):python统计某个单词在TXT/JSON文件中出现的次数
|
JSON 数据格式
LangChain-20 Document Loader 文件加载 加载MD DOCX EXCEL PPT PDF HTML JSON 等多种文件格式 后续可通过FAISS向量化 增强检索
LangChain-20 Document Loader 文件加载 加载MD DOCX EXCEL PPT PDF HTML JSON 等多种文件格式 后续可通过FAISS向量化 增强检索
1027 2
|
存储 JSON 监控
公司用什么软件监控电脑:JSON 在监控信息交互中的应用探索
在现代企业管理中,电脑监控软件广泛应用于保障信息安全和提升工作效率。JSON(JavaScript Object Notation)因其简洁和易读性,在监控信息的收集、传输和处理中扮演着关键角色。本文介绍了 JSON 在监控数据结构、信息传输及服务器端处理中的具体应用,展示了其在高效监控系统中的重要性。
144 0
|
JSON 数据格式 计算机视觉
Opencv实用笔记(一): 获取并绘制JSON标注文件目标区域(可单独保存目标小图)
本文介绍了如何使用OpenCV和Python根据JSON标注文件获取并绘制目标区域,同时可将裁剪的图像单独保存。通过示例代码,展示了如何读取图片路径、解析JSON标注、绘制标注框并保存裁剪图像的过程。此外,还提供了相关的博客链接,供读者进一步学习。
387 0