我有一个视图,我从中调用另一个视图以在我的 html 中的脚本标记内呈现一些 json:
public ActionResult App()
{
return View();
}
public JsonResult SomeJsonData()
{
// ... here goes the code that generates the model
return Json(model, JsonRequestBehavior.AllowGet);
}
在我的 App.cshtml 文件中,我有这样的内容:
<script type='text/javascript'>
var myJsonData = @Html.Action("SomeJsonData", "MyController");
</script>
问题是有时当我在浏览器中重新加载页面时(现在使用 Chrome 20)它会显示所有标记,如果我转到开发人员工具中的网络选项卡,我可以看到页面请求的 Content-Type属于“应用程序/json”类型。如果我只是重新加载页面,那么它会正确加载(内容类型应该是“text/html”)。
关于为什么会发生这种情况的任何想法?或者我做错了什么?