ajax get post 基础

GET:

 $.ajax({
                    type: "get",
                    url: "home/GetSKUbyProductkid",
                    dataType: "json",
                    data: "kid=" + productkid,
                    contentType: false,//重要
                    processData: false,//重要
                    success: function (responsedata) {
                    //成功后执行的代码
                    },
                    error:function(msg){ console.log(msg.responseText)}//返回错误信息
});

GET 中contentType与processData必须添加,否则会报非法调用。

MVC后台接收代码:返回的jason对象需要设置 JsonRequestBehavior.AllowGet,因为MVC后台默认接受为POST,所以如果是get方式,需要将返回json设置

  public ActionResult GetSKUbyProductkid(int kid)
        {
            //方法体
//或者
var kid=Request.Query["kid"]
}

测试截图:

POST:

    //vue
    var vm = new Vue({
        el: "#loginbox",//作用域
        data: {
            //viemodel,可以直接在v-model 处定义,也可以在此处定义
            account: {}
        },
        methods: {
            login: function () {
                var myaccount = JSON.parse(JSON.stringify(this.account));
                $.ajax({
                    type: "post",
                    url: "Login",
                    dataType: "json",
                    data: myaccount,
                    success: function (responsedata) {
                        if (responsedata.Status == 1) {
                            console.log("成功:" + responsedata.ResultMessage);
                        } else {
                            console.log("失败");
                        }
                    }
                });
            }
        }
    });
VUE 方式

MVC后台代码:

 [HttpPost]
        public ActionResult Login(Account loginM)
        {
            //返回结果类
            ResultModel rd = new ResultModel();
            //接收前端数据              
            string _account = loginM.AccountCode;
            string _password = loginM.password;
            //调用api验证获取返回值
            LogHelper.Info("Login 调用api记录");       //记录日志
            //登陆成功,授权并记录         
            rd.Status = statuslist.成功;
            rd.ResultMessage = "数据已经收到";
            rd.ResulData = new string[] { _account, _password };//数组       
            //赋予jsonresult data     
           // rd.Data = new { rd.Status, rd.ResultMessage, rd.ResulData };
            JsonResult jr = new JsonResult();
            jr.Data = Json(rd);
            return jr;
        }
View Code
 public class Account
    {

        //public 访问不受限制 
        //protected 访问仅限于包含类或从包含类派生的类型 
        //internal 访问仅限于当前项目 
        //protected internal 访问仅限于从包含类派生的当前项目或类型 
        //private 访问仅限于包含类型

        /// <summary>
        /// 登陆名
        /// </summary>
        public string AccountCode { get; set; }
        /// <summary>
        /// 密码
        /// </summary>        
        public string password { get; set; }
        public string confirm_password { get; set; }
        public string tel { get; set; }
        public string Email { get; set; }
        public string realname { get; set; }

    }
View Code

以formdata方式传递参数

  /*提交数据*/
    function submitdata() {
        var formData = new FormData();
        var account = $(".account").val();
        var password = $(".password").val();//加密
        formData.append("account", account);
        formData.append("password", password);
        $.ajax({
            type: "post",
            url: "UserRegister",
            data: formData,
            success: function (responsedata) {
                if (responsedata.Status == 1) {
                    alert("注册成功!");
                    console.log("成功:" + responsedata.ResultMessage);
                } else {
                    console.log("失败");
                }
            }
        });
    }

后台接收代码与上面相同。

原文地址:https://www.cnblogs.com/daniel-niu/p/10368460.html