MVC 控制器 returns JSON。但是去哪里呢?

MVC controller returns JSON. But to where?

我是 MVC 的新手。所以一个MVC控制器主要是returns一个viewresult。我知道这将是视图具有相同的操作名称。 假设 "DoSomething" 操作转到 "DoSomething" 视图。但是如果controllerreturns一个JSON,它返回到哪里呢? 它会转到激活操作方法的页面吗? 让我们说 "Index" 查看到 "DoSomething" 操作。如果 "DoSomething" 控制器 returns 一个 JSON,JSON 是否转到 "Index" 视图? 我正在努力返回 JSON 和 JQuery 调用 ajax,但我很困惑。 谢谢。

如果 Action Method return 和 Json,则 View 不参与。在所有情况下,控制器的操作方法 return 都会响应流。请注意下面的 return 语句。实际上它是先调用视图。把它想象成一个方法调用。然后无论 view 是什么,都是 returned.

public ActionResult DoSomething()
{
     return View();
}

在 Json 的案例中,请注意 view 不在其中:

public JsonResult DoSomething()
{
     var jsondata = {
     "name"    : "Mike",
     "address" : "home",
     "gender"  : "male"
    };
     return Json(jsondata, JsonRequestBehavior.AllowGet);
}

jsondata 将被 javascript.

捕获