[原創(chuàng)]c#后臺(tái)如何接收前臺(tái)AJAX傳過(guò)來(lái)的JSON參數(shù)?
發(fā)布日期:2022/8/31 作者:
瀏覽:1349
如果前臺(tái)是用字符串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",//指定消息請(qǐng)求類型
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);
}
}
});
而后臺(tái)用以下方法接收即可
[HttpPost]
[ValidateAntiForgeryToken]
[AllowAnonymous]
public IActionResult Authenticate(string kid, string UserName, string PassWord)
{
...
}
如果前臺(tái)是用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);
}
}
});
后臺(tái)用以下代碼接收。。。,注意NewTonJSON某個(gè)版本可能會(huì)存在解析漏洞
[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;
}
下拉加載更多評(píng)論