Javascript 如何从MVC控制器访问JSON属性

Javascript 如何从MVC控制器访问JSON属性,javascript,ajax,asp.net-mvc,json,asp.net-mvc-3,Javascript,Ajax,Asp.net Mvc,Json,Asp.net Mvc 3,呼叫控制器 action: @Url.Action( "UploadFiles", "Dokument", new { } ) 使用startTabIndex public JsonResult UploadFiles() { var foo = 0; return Json(new { startTabIndex = foo }); } 如何访问startTabIndex属性 complete: function (ajaxContext) { console

呼叫控制器

action: @Url.Action( "UploadFiles",  "Dokument",  new {  } )
使用
startTabIndex

public JsonResult UploadFiles()
{
    var foo = 0;
    return Json(new { startTabIndex = foo });
}
如何访问
startTabIndex
属性

complete: function (ajaxContext) {
    console.log('ajaxContext: ' + ajaxContext); // not undefined
    console.log(ajaxContext.startTabIndex); // undefined
    startTabIndex = ajaxContext.startTabIndex; // not working
}

您可以尝试将此逻辑放在一个单独的javascript文件中,该文件可以从视图中引用。例如,您可以将url存储到视图中的全局javascript变量中:

<script type="text/javascript">
    var uploadFileUrl = '@Url.Action("UploadFiles", "FileController")';
</script>
<script type="text/javascript" src="~/scripts/myscript.js"></script>
您正在调用的控制器操作返回JsonResult:

public ActionResult UploadFiles()
{
    var foo = 0;
    var model = new
    {
        startTabIndex = foo
    };
    return Json(model, JsonRequestBehavior.AllowGet);
}

你能帮我们检查一下控制台.log(ajaxContext)吗?你能用
ActionResult
而不是
JsonResult
?对象{originalEvent=Event readystatechange,type=“complete”,timeStamp=1399364010574000,更多…}有很多行,你在找什么?函数完成了吗,这没有帮助。他们
JsonRequestBehavior.AllowGet
对我来说是新的,我会先尝试一下。你可以参考这个来了解更多细节。你的ajax调用使用类型:“GET”和数据类型:“json”。我不知道我使用了什么,因为我使用了url操作助手:
@url.action
。我在哪里可以看到?在页面上查看源代码并尝试找到它?我还应该提到,我的操作中有post属性
[HttpPost]
。我不能同时使用你的“GET”,从你的问题来看,你似乎在尝试AJAX GET,因为你在MVC控制器操作中返回了一个json对象。
public ActionResult UploadFiles()
{
    var foo = 0;
    var model = new
    {
        startTabIndex = foo
    };
    return Json(model, JsonRequestBehavior.AllowGet);
}