[原創(chuàng)]c#后臺如何接收前臺AJAX傳過來的JSON參數(shù)?
發(fā)布日期:2022/8/31 作者:
瀏覽:1247
如果前臺是用字符串a(chǎn)jax提交,則一般是如下的寫法:
$.ajax({ url:'/Account/Authenticate', type: "post", data: JSON.stringify({"kid":cid,"UserName":encrypted_u, "PassWord":encrypted_p }), dataType: "json", contentType: "application/json;charset=UTF-8",//指定消息請求類型 headers: { "RequestVerificationToken": $('@Html.AntiForgeryToken()').val() }, async: false, success: function (data) { if(data.Result=="OK") { if(getCookie("token")!=null){delCookie("token");} location.href="/user/"; } else { alert(data.Msg); } } });而后臺用以下方法接收即可
[HttpPost] [ValidateAntiForgeryToken] [AllowAnonymous] public IActionResult Authenticate(string kid, string UserName, string PassWord) { ... }
如果前臺是用AJAX提交JSON參數(shù),一般如下寫法:
$.ajax({ type: 'POST', url:'/Account/Authenticate', data:JSON.stringify({"kid":cid,"UserName":u, "PassWord":p }), //data: {"kid":cid,"UserName":encrypted_u, "PassWord":encrypted_p }, error: function(e) { console.log(e); }, dataType: "json", // async: false, contentType: "application/json", headers: { "RequestVerificationToken": $('@Html.AntiForgeryToken()').val() }, success: function (data) { if(data.Result=="OK") { if(getCookie("token")!=null){delCookie("token");} location.href="/admin/"; } else { alert(data.Msg); } } });

后臺用以下代碼接收。。。,注意NewTonJSON某個版本可能會存在解析漏洞
[HttpPost] [ValidateAntiForgeryToken] [AllowAnonymous] public IActionResult Authenticate([FromBody] object json) { dynamic model = Newtonsoft.Json.Linq.JToken.Parse(json.ToString()) as dynamic;//解析 string kid = model.kid; string UserName = model.UserName; string PassWord=model.PassWord; JsonResult js = Json(new { Result = "OK", Msg = kid }); return js; }

下拉加載更多評論