C#--Ajax配置使用

前台Ajax传递数据


<head>

<script src="https://cdn.staticfile.org/jquery/1.10.2/jquery.min.js"></script>

</head>


            $.ajax({
                url: "/organization/organizationTree",//发送请求的地址  
                type: "POST",// POST,默认是GET  
                 dataType: 'json',//规定返回数据类型可以有这些类型可选:xml html script json jsonp text
                contentType: "application/json",//规定向后台传输的数据类型application/json为json--data: JSON.stringify({getForm: getForm}),
                                                //多用于Webapi-Post--[FromBody] dynamic getForm--var getFormJson = getForm["getForm"];
                async: true,//是否异步请求
                data: {//请求携带的参数信息  
                    name: "张三",
                    sex: 1
                },
                success: function (data) {//请求成功  
                    alert("请求成功,返回:" + data);
                },
            });


-------------------------------------------------------------------------------------------------------------------------------------------

        $.ajax({
            url: "/organization/organizationTree",//发送请求的地址  
            type: "POST",// POST,默认是GET  
            dataType: 'json',//根据返回数据类型可以有这些类型可选:xml html script json jsonp text
            async: true,//是否异步请求
            data: {//请求携带的参数信息  
                name: "张三",
                sex: 1
            },
            beforeSend: function () {//发送请求前执行此函数  
                alert("请求发送前执行");
            },
            success: function (data) {//请求成功  
                alert("请求成功,返回:" + data);
            },
            error: function () {//请求出错  
                alert("请求出错了!");
            },
            complete: function () { //请求完成  
                alert("请求完成!");
            },

        });



!!!!!!!!!!!!jquery ajax经常用到的一个工具函数!!!!!!!!!!!!
        //完整实例如:(表单html结构不在写)
        $("form").on("submit", function () {
            var url = this.action;   //可以直接取到表单的action
            var formData = $(this).serialize();
            $.post(url, formData,
                function (data) {
                    //返回成功,可以做一个其他事情
                    console.log(data);
                }, 'json');

            //阻止表单默认提交行为
            return false
        })


        参考:https://www.cnblogs.com/zhumengke/articles/9564980.html

后台接受数据


public ActionResult organizationTree()
        {
            var name = Request["name"];
            var sex = Request["sex"];
            string msg = sex == "1" ? "男" : "女";

            return Json(msg, JsonRequestBehavior.AllowGet); ;
        }

前端配合使用套路: var obj = $("#userForm").serializeObject();// 对象
userForm:form表单id
jQuery serializeObject 序列化form表单Json对象


/**
 * 使用场景:ajax提交表单数据
 */
/*
<form>
    <input type="text" name="username" value="123"/>
    <input type="text" name="password"  valur="abc"/>
 </form>
 */
 // 1. serialize() —— 序列化form表单 带name属性的内容为字符串
    JQuery("form").serialize();  
    // "username="123&password="abc"
	
// 2. serializeArray() ——返回JSON 对象数组
    JQuery("form").serializeArray();
    // [{name:"username",value:"123"},{name:"password",value:"abc"}]
 
//  3. 封装一个方法: serializeObject()  ——返回对象
	JQuery("form").serializeObject()
	//{username:"123",passwoed:"123"}
	
    JQuery.prototype.serializeObject = function () {
        var a,o,h,i,e;
        a = this.serializeArray();
        o={};
        h=o.hasOwnProperty;
        for(i=0;i<a.length;i++){
            e=a[i];
            if(!h.call(o,e.name)){
                o[e.name]=e.value;
            }
        }
        return o;
    }

$("#formTable").serializeArray()使用例子


 //获取表单并返回
        function getSearchValue() {
            var val = $("#formTable").serializeArray();
            return JSON.stringify(val);
        }
          $.ajax({
                url: "/salary_Analysis/Query",
                type: "POST",// POST,默认是GET
                dataType: 'json',//根据返回数据类型可以有这些类型可选:xml html script json jsonp text
                async: true,//是否异步请求
                data: {//请求携带的参数信息
                    search: getSearchValue(),
                },
            } )

       public string Query(int limit, int offset, string search)
        {
            dynamic searchJson = JsonConvert.DeserializeObject<dynamic>(search);
         for (int i = 0; i < searchJson.Count; i++)
            {
         if ((string)searchJson[i].name == "所在部门")
                {
                    if ((string)searchJson[i].value != "0")
                    {
          ps:namey与value是人为规定的字段即前台input的name

        }
         }
           }
        }

posted @ 2020-03-08 21:32  姜佳泉  阅读(261)  评论(0编辑  收藏  举报