public JsonResult Index()
        {
            JsonResult json = new JsonResult
            {
                Data = new
                    {
                        Name = "zzl",
                        Sex = "male" 
                    }
            };
          
            return Json(json,"text/html",JsonRequestBehavior.AllowGet);
        }
    $(document).ready(function () {
        var url = '@Url.Action("Index", "Home")';
        $.ajax
        ({ url: url,
            dataType: "json",
            cache: false,
            data: null,
            type: "POST",
            success: function (data)
             { alert(data.Data.Sex); }
          
        });
    });
为什么没有弹出正确值呢,控制器加上"text/html"才不会出现提示下载,求解

解决方案 »

  1.   

    [HttpGet]
    public JsonResult Index()
    {
    ...
    return Json(json,JsonRequestBehavior.AllowGet);
    }$.ajax
      ({ url: url,
      dataType: "json",
      cache: false,
      data: null,
      type: "GET",
      success: function (data)
      { alert(data.Data.Sex); }
        
      });
      });
      

  2.   

    同意楼上,直接return json就行了,不需要设置ContentType
      

  3.   

    直接return json在IE9中会出现 “提示下载” 对话框,而不是弹出框
      

  4.   

    ContentType 只有在 POST的时候 才用到。