亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

為什么需要JsonRequestBehavior?

為什么需要JsonRequestBehavior?

喵喵時光機 2019-06-24 16:07:35
為什么需要JsonRequestBehavior?為什么Json Request Behavior需要嗎?如果我想限制HttpGet請求我的行動我可以用[HttpPost]屬性例子:[HttpPost]public JsonResult Foo(){     return Json("Secrets");}// Instead of:public JsonResult Foo(){     return Json("Secrets", JsonRequestBehavior.AllowGet);}為什么[HttpPost]夠了嗎?為什么框架“困擾”我們JsonRequestBehavior.AllowGet為每一個JsonResult我們有。如果我想拒絕GET請求,我將添加HttpPost屬性。
查看完整描述

3 回答

?
慕哥9229398

TA貢獻1877條經驗 獲得超6個贊

為了讓自己更容易,您還可以創建actionfilter屬性

public class AllowJsonGetAttribute : ActionFilterAttribute{
    public override void OnResultExecuting(ResultExecutingContext filterContext)
    {
        var jsonResult = filterContext.Result as JsonResult;

        if (jsonResult == null)
            throw new ArgumentException("Action does not return a JsonResult, 
                                                   attribute AllowJsonGet is not allowed");

        jsonResult.JsonRequestBehavior = JsonRequestBehavior.AllowGet;            

        base.OnResultExecuting(filterContext);
    }}

把它用在你的行動上

[AllowJsonGet]public JsonResult MyAjaxAction(){
    return Json("this is my test");}


查看完整回答
反對 回復 2019-06-24
?
Cats萌萌

TA貢獻1805條經驗 獲得超9個贊

默認情況下,JsonResult“拒絕GET”

假設我們有如下方法

  [HttpPost]
 public JsonResult amc(){}

默認情況下,它“拒絕獲取”。

在下面的方法中

public JsonResult amc(){}

當您需要允許或使用GET時,我們必須使用JsonRequestBehavior.AllowGet。

public JsonResult amc(){
 return Json(new Modle.JsonResponseData { Status = flag, Message = msg, Html = html }, JsonRequestBehavior.AllowGet);}


查看完整回答
反對 回復 2019-06-24
  • 3 回答
  • 0 關注
  • 968 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號